Indy Server und Client Problem
-
Ich hab ein Problem. Ich möchte so ne Art Messenger schreiben. Ich möchte praktisch an den Clienten eine Nachricht auf Buttonklick senden.
Hier erstmal der Codevoid __fastcall TForm1::FormCreate(TObject *Sender) { TCPServer->Active = True; } //--------------------------------------------------------------------------- void __fastcall TForm1::TCPServerExecute(TIdPeerThread *AThread) { AThread->Connection->WriteLn(ListBox1->Items->Text); AThread->Connection->Disconnect(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { ListBox1->Items->Add(Memo1->Lines->Text); Memo1->Clear(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { try { ListBox1->Items->Add(TCPClient->ReadLn()); } __finally { TCPClient->Disconnect(); } }
Jetzt bekomm ich von der Timeranweisung eine Exception EIDConnClosedGracefull.
Wenn ich die Timeranweisung auskommentiere kommt die Meldung nicht mehr. TCPServer und TCPClient haben den selben Port
-
hat denn keiner ne Idee????
-
Nicht drägeln! Einmal am Tag nachfragen wenn keine Antwort kam reicht, nicht jede Stunde.
Danke.J0
-
Das ist kein Fehler, das ist mehr ein Hinweis, dass die Verbindung erfolgreich getrennt wurde. Wenn du das Programm ausserhalb der IDE startest sollte der "Fehler" nicht mehr auftreten.
-
Mehr Informationen zu EIDConnClosedGracefully gibt's auch in der FAQ auf der Indy-Website.
-
Da die FAQ der offiziellen Seite (zumindest momentan) nicht erreichbar ist:
http://www.mm.fh-mannheim.de/entwicklung/delphi/IndyFAQ.pdf