Mga*_*erz 5 linux android wifi-direct
我正在为Android编写一个wifi直接应用程序.我正在尝试与设备建立套接字连接.由于组所有者意图功能似乎不起作用(它只是随机分配)我必须找到一种方法将客户端IP地址传输到主机.我所知道的唯一地址是WifiP2pManager可以获取的组信息对象中的主机设备.我知道哪个设备是主机,哪个设备是客户端,所以我可以打开一个套接字连接到达或尝试连接到另一个.
我需要做的是找到一种方法来转移设备的Wifi P2P(Wifi Direct)客户端的IP地址,如果'主机'设备是组所有者.如果主机是组所有者,则无法连接到客户端上的套接字.它有点令人困惑,但它是如何工作的.
我已经看到了从ARP表中获取IP地址的事情,但是ARP表似乎在几秒钟之后(如一分钟)和ICS上自行清除,因为wifi接口被禁用Wifi直接我甚至都没有看到arp表中的任何内容.
我觉得这应该很容易,但我不是一个大的Linux用户,所以我不知道什么文件将保持网络接口配置.有没有办法获得网络接口的IP地址?或者至少是Wifi P2P界面?(注意:这不是wifi地址.除了Wifi Direct之外,它类似于网络共享地址.WifiManager不会返回此信息)
谢谢,
Mgamerz
DhcpInfo dhcpInfo = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE)).getDhcpInfo();
String ipaddress = intToIp(dhcpInfo.ipAddress)
intToIp(int integer) {
return (integer & 0xFF) + "." + ((integer >> 8) & 0xFF) + "."
+ ((integer >> 16) & 0xFF) + "." + ((integer >> 24) & 0xFF);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码应该可以帮助你获取IP地址......
要获取通过套接字连接到主机的客户端的 IP 地址,您可以使用.. clientSocket = this.serverSocket.accept(); clientSocket.getInetAddress();
| 归档时间: |
|
| 查看次数: |
2065 次 |
| 最近记录: |