我希望列出任何给定的Android应用程序以编程方式进行通信的IP。我真的找不到任何关于如何做到这一点。我查看了以下库:
此外,为了扩展这一点,知道应用和服务器正在通信的端口会很有趣。
感谢您的帮助。
答案 0 :(得分:1)
在accept
connect
离子后,连接到服务器(通过TCP)的每个应用程序都会在响应中将其IP地址存储在服务器中。在那里寻找远程地址和端口。
例如:
ServerSocket serverSocket = new ServerSocket(portNumber);
Socket fromClientSocket = serverSocket.accept();
请查看fromClientSocket
以获取您的信息。
请注意,客户将信息存储在同一个地方,因此getRemoteSocketAddress()
也会提供您所寻求的信息。
Socket toServerSocket = new Socket(hostName, portNumber)
[澄清后编辑]
这是一个与我回答的请求不同的请求:)您应该能够查看netstat
的来源,看看当您要求每个套接字的PID时会发生什么 - netstat -nap
IIRC
<强> [/编辑] 强>