Hiho!
Ich spiele mich gerade mit Sockets herum und habe folgendes Problem dabei:
Eine Client- und eine Server-Applikation, sie verbinden sich miteinander, können senden und empfangen und soweit kein Problem.
Wenn jetzt allerdings der Client 'stirbt', also die Applikation geschlossen wird, bekommt das der Server nicht mit.
Der Server liefert mit isBound() bzw isConnected() immer noch true, obwohl er schon lange mit einer Wand redet.
Da ich keinen Einfluss (oder Einblick) in den Client-Code habe: Kann es sein, dass ein Socket, der nicht explizit geschlossen wurde, auch nach Programmende noch offen ist?
(Es geht um ein Client - Programm das mfc70.dll braucht - evt. VisualBasic ?)
Oder funktionieren einfach isBound() bzw isConnected() nicht und ich müsste auf ein Signal am Socket selber abfragen?
Ich hoffe die Frage ist nicht zu schwer (SuFu hat mir leider nicht wirklich weitergeholfen, aber kann auch sein, dass ich nur die falschen Begriffe hatte?) und ich würd mich über Eure Antworten sehr freuen!
mfg, LS
Ich spiele mich gerade mit Sockets herum und habe folgendes Problem dabei:
Eine Client- und eine Server-Applikation, sie verbinden sich miteinander, können senden und empfangen und soweit kein Problem.
Wenn jetzt allerdings der Client 'stirbt', also die Applikation geschlossen wird, bekommt das der Server nicht mit.
Der Server liefert mit isBound() bzw isConnected() immer noch true, obwohl er schon lange mit einer Wand redet.
Da ich keinen Einfluss (oder Einblick) in den Client-Code habe: Kann es sein, dass ein Socket, der nicht explizit geschlossen wurde, auch nach Programmende noch offen ist?
(Es geht um ein Client - Programm das mfc70.dll braucht - evt. VisualBasic ?)
Oder funktionieren einfach isBound() bzw isConnected() nicht und ich müsste auf ein Signal am Socket selber abfragen?
Ich hoffe die Frage ist nicht zu schwer (SuFu hat mir leider nicht wirklich weitergeholfen, aber kann auch sein, dass ich nur die falschen Begriffe hatte?) und ich würd mich über Eure Antworten sehr freuen!
mfg, LS