Nachricht kommt erst nach beendigung der Anwendung an

  • Themenstarter Themenstarter javax123
  • Beginndatum Beginndatum
J

javax123

Gast
Hi,

ich habe folgendes Problem:

Ich versuche zwischen 2 Rechnern zu kommunizieren. Auf dem einen läuft Windows und ein Java Client, auf dem anderen Linux und ein C++ Client.

Nun schickt der Java Client dem C++ Client eine Anfrage per Socket und PrintWriter. Diese kommt erfolgreich beim C++ Socket an und wird richtig interpretiert. Nun schickt der C++ Client eine Antwort an den Java Client. Diese kommt allerdings erst dort an wenn der C++ Client beendet wird. Vorher wartet der Java Client quasi endlos auf eine Antwort.

Meine Idee war das der C++ Client noch irgend einen Umbruch oder sontiges mitschicken muss damit die Nachricht auch abgesetzt wird.. Mit "/n" oder "\n" hat es allerdings auch nicht funktioniert.

Kann mir einer sagen woran das liegen könnte?
Vielen Dank schonmal im Voraus! =)

Gruß
 
Hi,

ich habe folgendes Problem:

Ich versuche zwischen 2 Rechnern zu kommunizieren. Auf dem einen läuft Windows und ein Java Client, auf dem anderen Linux und ein C++ Client.

Nun schickt der Java Client dem C++ Client eine Anfrage per Socket und PrintWriter. Diese kommt erfolgreich beim C++ Socket an und wird richtig interpretiert. Nun schickt der C++ Client eine Antwort an den Java Client. Diese kommt allerdings erst dort an wenn der C++ Client beendet wird. Vorher wartet der Java Client quasi endlos auf eine Antwort.

Meine Idee war das der C++ Client noch irgend einen Umbruch oder sontiges mitschicken muss damit die Nachricht auch abgesetzt wird.. Mit "/n" oder "\n" hat es allerdings auch nicht funktioniert.

Kann mir einer sagen woran das liegen könnte?
Vielen Dank schonmal im Voraus! =)

Gruß

Meine Glaskugel ist gerade leider im Urlaub aber check mal ob der C++ CLient auch wirklich sendet oder da etwas bis zur Termination blockiert ist!
 
Hmm ja genau das ist ja das Problem, woher weiß ich das bzw. wie kann ich das in Erfahrung bringen?
 
Hmm ja genau das ist ja das Problem, woher weiß ich das bzw. wie kann ich das in Erfahrung bringen?

Debuggen?!

Sorry aber so kann dir sicherlich keiner helfen. Keiner kennt deine Programme geschweige denn den Source Code. Anscheinend ist da irgendwo ein Fehler drin. Wie gesagt meine Glaskugel ist gerade in Urlaub.
 
Ohne Code ist das wirklich nur ein Ratespiel,

aber ich könnte mir vorstellen, dass Du in Deinem JavaCode ungefähr so eine Zeile hast:
Java:
String line;
while ((line = reader.readLine) != null) {
// tu was
}
Aus dieser Schleife kommt das Java-Programm erst raus, wenn es einen null-Wert liest, der wahrscheinlich erst kommt, wenn Du Dein C-Programm schließt und eben nicht vorher.
 

Zurück
Oben