Indy HTTP chat



  • Hallo!

    Ich versuche ein Chat zu coden welcher auf auf html+php basiert. Dazu sendet der Chat per HTTP->Get den zu sendenen Text und holt die anderen Chat-Nachrichten auch von einer Text Datei auf dem Server ab mit der selben Funktion ab. Ich benutze dazu die Indy Komponente idHTTP.

    Mein Problem ist nun, wenn ich gleichzeitig sende und abhole gibt es Konflikte, wie kann ich das vermeiden und trotzdem den Chat automatisch aktualisieren?

    Vielen Dank im Vorraus!

    MfG

    bilal



  • Ohne genaue Fehlermeldungen bzw. -beschreibungen und ggf. einen Code-Ausschnitt wird wohl kaum jemand dein Problem nachvollziehen können.



  • ok, hier ist mein code schnipsel dazu:
    der Timer ist auf 8 sek. gestellt und wenn durch Zufall gerade gesendet wurde tritt die Fehlermeldung (HTTP/1.1 400 Bad Request) auf.

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      //SEND daten
      StatusBar1->SimpleText="Status: SEND...";
      HTTP->Get("http://XXXXXXXXXXXXX.php?name="+Edit1->Text);
      StatusBar1->SimpleText="Status: READY";
    
      /*GET daten
      StatusBar1->SimpleText="Status: GET...";
      Memo1->Lines->Add(HTTP->Get("http://XXXXXXXXXXXXX.txt"));
      StatusBar1->SimpleText="Status: READY";*/
    
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Timer1Timer(TObject *Sender)
    {
      // GET daten
      if (StatusBar1->SimpleText=="Status: READY")
      {
        StatusBar1->SimpleText="Status: GET...";
        Memo1->Lines->Add(HTTP->Get("http://XXXXXXXX.txt"));
        StatusBar1->SimpleText="Status: READY";
      }
    }
    //---------------------------------------------------------------------------
    

    MfG

    bilal

    Edit:
    Bitte die Code-Tags benutzen. Danke!

    [ Dieser Beitrag wurde am 01.07.2003 um 22:56 Uhr von Jansen editiert. ]



  • Na ja wie willst du den 2 Verbindungen zu 1 Text-Datei haben??
    Dann musste schon mit Datenbanken arbeiten!
    Warum willste das überhaupt so umständlich machen??



  • Hi!
    Meinst du echt das liegt an der Textdatei das der Server nur eine Verbindung darauf zuläßt? Wieso umständlich? Ich fand diese Lösung eigentlich als einfachste. Was für Lösung würdest du mir den vorschlagen?



  • Hallo.
    Bin immer noch nicht zu einer anständigen Lösung gekommen, es muss doch möglich sein mehrere HTTP-Sessions aufzumachen ohne das Konflikte auftreten (s.h. Internet Explorer). Wäre nett wenn mir jemand nen Denkanstoss geben könnte. 😕

    Danke!



  • versuch doch mal zwei IdHTTP-Komponenten einzubinden. Das eine für holen und das andere für senden!



  • hatte ich auch schon probiert, aber da gabs dann die selbe Fehlermeldung (Bad Request).


Anmelden zum Antworten