2011-11-24 127 views
1

我有一個服務器套接字和3-4個Android設備作爲客戶端。我正在使用TCP/IP進行通信。哪個是最好的方法。我應該爲每個客戶使用多個端口嗎?或者我應該使用相同的端口。如果使用相同的功能,那麼我應該如何識別發往不同設備的通信?通過套接字與多個客戶端進行通信

回答

0

您可以使用一個端口。客戶可以向您發送其ID。如果它不能,你可以看看客戶的IP地址來鍛鍊它是哪一個。

有成千上萬的網絡上TCP客戶機/服務器的代碼示例,但我會用其自帶的JDK示例代碼開始,

1

不,你不需要幾個端口。

ServerSocket server = new ServerSocket(port); 
while (true) 
{ 
    Socket socket = server.accept(); 
    // do something with this socket - aka 1 client 

    new SomeClientClass(socket); 
     InputStream in = socket.getInputStream(); 
     in.read(byte[]); 
     OutputStream out = socket.getOutputStream; 
     // out will only write response to its own client. 

    // when this new SomeClientClassis created, method returns to this point 
    // in while loop and waits for the next client 

} 
+0

將有多個TCP/IP連接同時.... –

+1

好,我有一個服務監聽32個客戶端「同時」連接的結構。這部分沒有任何問題。我們眼中的「模擬」與CPU中的不一樣 – Romczyk

相關問題