如何找到wifip2p客户端设备的地址?

时间:2013-09-25 14:52:26

标签: android wifi-direct wifip2p

Android WifiP2p API在WifiP2pInfo.groupOwnerAddress中广播组所有者地址。客户端可以使用此地址向组所有者发送数据。组所有者如何将数据发送回客户端?在哪里分配或查找客户端设备的地址?

2 个答案:

答案 0 :(得分:4)

当客户端向组所有者发送数据时,组所有者通过ServerSocket读取它。 serverSocket.accept()给出连接GroupOwner已接受的客户端的套接字。从该套接字,它通过 s.getInetAddress()获取客户端的IP地址。

ServerSocket serverSocket = new ServerSocket(8988);
Socket s = serverSocket.accept();  
InputStream is = s.getInputStream();  
Log.d("Client's InetAddress",""+s.getInetAddress());
ObjectInputStream ois = new ObjectInputStream(is);  
TestObject to = (TestObject)ois.readObject();  
is.close();  
s.close();  
serverSocket.close();

答案 1 :(得分:2)

我找到了答案。它是在另一个几乎identical question

的接受答案中提供的