Java Socket: Adressierung nicht reagierender Serverantworten auf Clientanfragen
Im dargestellten Szenario sendet der Client erfolgreich eine Zeichenfolge an den Server und fordert dazu auf Der Server verarbeitet und antwortet. Allerdings erhält der Client die Antwort des Servers nicht.
Ursache:
Das Problem ist auf das Fehlen von Zeilenabschlusszeichen („rn“) am Ende zurückzuführen Zeichenfolgen, die in die Ausgabestreams geschrieben werden. Dies behindert die Kommunikation zwischen Client und Server, was dazu führt, dass die Antwort des Servers vom Client unbemerkt bleibt.
Lösung:
Um dieses Problem zu beheben, stellen Sie sicher, dass „rn“ angehängt ist die Zeichenfolge vor dem Senden.
Client-Änderung:
string = "end"; out.write(string + "\r\n"); out.flush();
Server-Änderung:
out.write("to end" + "\r\n"); out.flush(); out.close(); System.out.println("end");
Durch Hinzufügen Durch die Zeilenabschlusszeichen verbessert sich der Kommunikationsfluss zwischen Client und Server. Die Antwort des Servers wird für den Client erkennbar, wodurch die gewünschte Druckfunktionalität auf Client-Seite erreicht werden kann.
Das obige ist der detaillierte Inhalt vonWarum empfängt mein Java-Socket-Client keine Serverantworten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!