gpt4 book ai didi

android - WifiP2pInfo.groupOwnerAddress.getHostAddress() IP 错误

转载 作者:行者123 更新时间:2023-11-29 20:57:45 24 4
gpt4 key购买 nike

我有两个设备 - Note 3 (N9005) 和 G Pad 8.3(也用 Nexus 4 而不是 note 3 进行了测试,结果相同)。
当我在 Note 3 是组所有者时创建 Wifi P2P 组时,在 G Pad(客户端)上,方法 WifiP2pInfo.groupOwnerAddress.getHostAddress() 返回正确的 IP。但是,当我在 G Pad 是组所有者的情况下创建 Wifi P2P 组时,在 Note 3(客户端)上,该方法返回错误的 IP 地址!

这是来自 G Pad 的 ipconfig 作为组所有者,具有正确的 ip 地址:

ipconfig on the tablet while being group owner

这里是 Note 3 尝试连接给定 IP 地址时的 ECONNREFUSED 异常:

11-25 21:04:53.264    4817-4986/com.example.wifidirect.app W/System.err﹕ java.net.ConnectException: failed to connect to /192.168.49.1 (port 7958) after 5000ms: isConnected failed: ECONNREFUSED (Connection refused)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at libcore.io.IoBridge.isConnected(IoBridge.java:223)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at libcore.io.IoBridge.connect(IoBridge.java:112)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:460)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at java.net.Socket.connect(Socket.java:833)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at com.yoavst.wifidirectlib.WifiP2P$5.run(WifiP2P.java:237)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at java.lang.Thread.run(Thread.java:841)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ Caused by: libcore.io.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ at libcore.io.IoBridge.isConnected(IoBridge.java:208)
11-25 21:04:53.264 4817-4986/com.example.wifidirect.app W/System.err﹕ ... 7 more

192.168.49.1 不是 192.168.49.129

这也是代码,但我不认为这是问题所在:

客户端

Socket socket = new Socket();
socket.setReuseAddress(true);
socket.connect((new InetSocketAddress(info.groupOwnerAddress.getHostAddress(), PORT_GET_IP)), 5000);
OutputStream os = socket.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
oos.writeObject(HANDSHAKE_STRING);
oos.close();
os.close();
socket.close();

服务器

ServerSocket serverSocket = new ServerSocket(PORT_GET_IP);
Socket client = serverSocket.accept();
ObjectInputStream objectInputStream = new ObjectInputStream(client.getInputStream());
Object object = objectInputStream.readObject();
if (object.getClass().equals(String.class) && object.equals(HANDSHAKE_STRING)) {
otherDeviceINetAddress = client.getInetAddress();
initClient(client.getInetAddress().toString().substring(1));
}

最佳答案

根据您上次的评论,您无法将您想要的设备设置为群组所有者。到目前为止你采取了哪些步骤?根据 android documentation ,您可以在第一次尝试通过设置 groupOwnerIntent 的 WifiP2pConfig 类连接时尝试设置组所有者然而,这并非 100% 可靠,系统最终可能会决定谁是群组所有者,特别是如果您过去已经建立了连接并且群组信息已保存。

关于android - WifiP2pInfo.groupOwnerAddress.getHostAddress() IP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27135975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com