2011-02-15 119 views
4

尽管我搜索了它,但我找不到答案。查找试图连接到ServerSocket的程序IP IP地址

比方说,我有以下的Java代码:

ServerSocket serve = null; 

    try { 
     server = new ServerSocket(5567); 
    } catch (IOException e) { 
     System.err.println("Problem with port 5567"); 
     System.exit(1); 
    } 

    Socket clientSocket = null; 
    try { 
     clientSocket = server.accept(); 
    } catch (IOException e) { 
     System.exit(1); 
    } 

server.accept()被称为程序块,直到有人连接到我的服务器。有没有办法,能够找到连接到我的服务器的程序/用户的IP?

回答

4

尝试

Socket clientSocket = null; 
    try { 
     clientSocket = server.accept(); 
     System.out.println("Connected from " + clientSocket .getInetAddress() + " on port " 
      + clientSocket .getPort() + " to port " + clientSocket .getLocalPort() + " of " 
      + clientSocket .getLocalAddress()); 
    } catch (IOException e) { 
     System.exit(1); 
    } 
+0

这似乎又回到眼前。 'from'ip:port由getInetAddress():getPort()给出。本地ip:端口由getLocalAddress():getLocalPort()给出。 – EJP 2011-02-15 03:54:07