# Nachricht kommt erst nach beendigung der Anwendung an



## javax123 (12. Aug 2011)

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ß


----------



## Gast2 (12. Aug 2011)

javax123 hat gesagt.:


> Hi,
> 
> ich habe folgendes Problem:
> 
> ...



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!


----------



## javax123 (12. Aug 2011)

Hmm ja genau das ist ja das Problem, woher weiß ich das bzw. wie kann ich das in Erfahrung bringen?


----------



## Gast2 (12. Aug 2011)

javax123 hat gesagt.:


> 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.


----------



## nillehammer (12. Aug 2011)

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:

```
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.


----------

