Hallo zusammen
Folgendes Szenario:
Ein Server wartet auf eine Verbindung. Der Client eröffnet die Verbindung, schreibt auf den Socket und schliesst den Socket wieder. isClosed() im client gibt erwartungsgemäss true zurück.
Nachdem ich vom client die Meldung erhalten habe, dass der Socket geschlossen wurde, kommt mal die Nachricht vom Server (System.out), dass er eine Verbindung bekommen hat (schon mal komisch. Wieso erst jetzt? gut, eventuell gibt es Verzögerungen mit dem System.out...).
Nun schreibt der Server gemütlich eine Antwort an den Client, über einen Socket der vom Client schon geschlossen worden ist (auf alle Fälle behauptet er das). Es wird keine Exception geworfen. Ist da die JVM am buffern oder was?
Ich wäre sehr froh, wenn mir jemand sagen könnte, wie dieses Verhalten zustande kommen kann. Für meine Applikation ist es enorm wichtig, dass ich nur Nachrichten auf einen Socket schreiben kann, der auch wirklich noch aktiv ist.
Ich benutze Netbeans 4.0 mit jdk 1.5 unter Windows XP.
thx muge
Folgendes Szenario:
Ein Server wartet auf eine Verbindung. Der Client eröffnet die Verbindung, schreibt auf den Socket und schliesst den Socket wieder. isClosed() im client gibt erwartungsgemäss true zurück.
Nachdem ich vom client die Meldung erhalten habe, dass der Socket geschlossen wurde, kommt mal die Nachricht vom Server (System.out), dass er eine Verbindung bekommen hat (schon mal komisch. Wieso erst jetzt? gut, eventuell gibt es Verzögerungen mit dem System.out...).
Nun schreibt der Server gemütlich eine Antwort an den Client, über einen Socket der vom Client schon geschlossen worden ist (auf alle Fälle behauptet er das). Es wird keine Exception geworfen. Ist da die JVM am buffern oder was?
Ich wäre sehr froh, wenn mir jemand sagen könnte, wie dieses Verhalten zustande kommen kann. Für meine Applikation ist es enorm wichtig, dass ich nur Nachrichten auf einen Socket schreiben kann, der auch wirklich noch aktiv ist.
Ich benutze Netbeans 4.0 mit jdk 1.5 unter Windows XP.
thx muge