2013-03-14 223 views
5

我有一個正在偵聽連接的ServerSocket實例。當客戶端連接到它時,我想獲取連接的套接字的IP,但似乎找不到正確的方法。ServerSocket +客戶端套接字 - 如何獲取客戶端的IP地址?

public void start() { 
    listenSocket = new ServerSocket(port); 
    connectionSocket = listenSocket.accept(); 
} 

我打過電話,沒有運氣以下:

connectionSocket.getLocalAddress(); 
connectionSocket.getInetAddress.getHostAddress(); 
listenSocket.getLocalSocketAddress(); 

上述迴歸正確的IP都沒有。它們要麼返回「/ 0:0:0:0:0:0:0:1%0」或「0.0.0.0」。

我在做什麼錯?

+1

本地地址是你的結局。你想要遠程地址,另一端。 – EJP 2013-03-14 22:49:28

回答

13
connectionSocket.getRemoteSocketAddress();