我正在實現一個服務器使用Java ServerSocket並有兩個客戶端連接,每個來自不同的線程。一個向服務器發送消息,另一個從服務器讀取消息。他們都在同一端口上聯繫服務器,所以我如何區分想要閱讀的客戶端和想要寫入的客戶端?Java的serversocket如何寫入和讀取到不同的線程
ServerSocket ss = new ServerSocket(port);
while (true) {
Socket cs = ss.accept();
BufferedReader r = new BufferedReader(new InputStreamReader(cs.getInputStream()));
String message = r.readLine();
System.out.println("message");
DataOutputStream os = new DataOutputStream(cs.getOutputStream());
String send = "send";
os.writeBytes(send);
}
最後writeBytes導致自認爲相連,以便將消息發送到服務器已經關閉了連接的客戶端的問題。同樣,希望從服務器接收客戶是不會對套接字的輸入流提交任何
@ user1190650:換句話說 - 你必須指定和實施特定應用協議... – home 2012-02-18 18:56:43
感謝您的幫助! – user1190650 2012-02-19 03:32:33