Verbindungsabbruch bei TCP/IP-Timeout

Meldur

Erfahrenes Mitglied
Hallo, vielleicht könnt Ihr mir helfen? Ich sitze hier an einer TCP/IP-Verbindung. Ich kann wunderbar zwischen Client und Server kommunizieren - aber ich komme durcheinander, wenn der Server etwas dem Client zu sagen hat, dieser aber auch gleichzeitig etwas vom Server will. Um mal etwas konkreter zu sein: der Client ruft zyklisch eine bestimmte Information vom Client ab - dieser empfängt das Kontrollbyte und startet die Kommunikation. Zwischendurch muß der Server jedoch selbstständig an den Client senden. Da beie Parteien Threads zur Empfangs-Erkennung haben, funktioniert das auch - bis mal beide gleichzeitig senden wollen. Zwar habe ich über Flags die Systeme blockiert, so lange eine Kommunikation läuft, so daß keine weitere in Gang gesetzt werden kann, aber das scheint noch nicht zu reichen. Dann dachte ich mir - egal - dann lasse ich eben Notfalls einen Abfragezyklus aus, wenn bei der Anfrage ein Timeout erreicht wird. Das Problem ist nun, daß beim Abfangen dieses Timeouts über try/catch die Verbindung an dem Client gelöst wird (Connected = false) und das System somit vollkommen verwirrt ist. Hat da jemand ne Idee, warum sich diese Verbindung beim Abfangen der Exception löst?

Thx, Peter
 
Weil die Verbindung anscheinend durch den Vorgang terminiert wurde.
Hmm, vielleicht kannst Dir einfach abhilfe verschaffen indem Du einen Kommunikations- und Daten-Port verwendest.
Damit sich beide Seiten "absprechen" können...

Hab im Moment nicht viel Zeit um eine bessere Antwort geben zu können.

MfG,
cosmo
 
Ich hab mir jetzt überlegt, den Clietn nur noch Steuerkommandos in der Server jagen zu lassen, welche dann in einer Pipeline gesammelt und bei Gelegenheit abgearbeitet werden können. Damit stellt der Client keine direkten Anfforderungen mehr, sondern der Server zwingt ihm dies auf. Klärt aber leider noch nicht die geschlossene Leitung...na ich bastel mal noch ne Runde...
 

Neue Beiträge

Zurück