打个工而已 2020-04-26 19:58 采纳率: 0%
浏览 153

android P2P 连接后,如果连接的devcie 不是 GO,如何获取对方device 的IP address

android P2P 连接后,如果连接的devcie 不是 GO,如何获取对方device 的IP address。

group owner 有对应的接口获取 !

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-07-25 12:40
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    在Android中进行P2P连接后,如果连接的设备不是Group Owner(GO),可以通过WiFiP2pDevice类来获取对方设备的IP地址。WiFiP2pDevice类是用来表示已连接的Peers设备的一种数据结构。 具体步骤如下:
    1. 在连接成功后,获取对方设备的WiFiP2pDevice对象。
    WifiP2pDevice device = // 获取连接的对方设备
    
    1. 通过WiFiP2pDevice对象获取对方设备的IP地址。
    String ipAddress = device.deviceAddress;
    
    1. 可以通过这个IP地址来连接对方设备的服务或进行数据传输等。 示例代码:
    WifiP2pManager manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
    WifiP2pManager.Channel channel = manager.initialize(this, getMainLooper(), null);
    manager.removeGroup(channel, new WifiP2pManager.ActionListener() {
        @Override
        public void onSuccess() {
            // 移除group成功
        }
        @Override
        public void onFailure(int reason) {
            // 移除group失败
        }
    });
    

    在上面的示例中,首先获取到了对方设备的WiFiP2pDevice对象,然后通过deviceAddress获取到了对方设备的IP地址。 至此,我们成功获取了连接的设备的IP地址,可以在P2P连接中进行相应的操作。

    评论

报告相同问题?