Java Socket 協定問題:伺服器無法回應客戶端
在提供的程式碼片段中,您遇到伺服器無法回應客戶端的問題回應客戶的請求。要解決此問題,您必須了解 Java 套接字協定的複雜性。
問題:
給定的程式碼嘗試建立客戶端與伺服器之間的通信,其中客戶端發送發送給伺服器的訊息。然而,伺服器收到訊息後,既不列印也不回應。
解決方案:
解決這個問題的關鍵在於確保訊息透過套接字流遵循協議的格式指南。在這種情況下,為了讓伺服器正確處理訊息,它需要在每個訊息末尾有一個回車符 (r),後面跟著一個換行符 (n)。
實作:
要修正問題,請修改客戶端程式碼如下:
string = "end"; out.write(string + "\r\n"); // Add "\r\n" to the string out.flush();
同樣,對於要讓伺服器發送正確的回應,請進行以下變更:
out.write("to end" + "\r\n"); // Add "\r\n" to the string out.flush(); out.close();
透過合併這些調整,客戶端和伺服器訊息都將符合協定的格式要求,使伺服器能夠成功接收、處理和發送回應客戶的要求。
以上是為什麼我的 Java 伺服器不回應客戶端的請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!