Android WifiP2PManager - 几个问题

Posted

技术标签:

【中文标题】Android WifiP2PManager - 几个问题【英文标题】:Android WifiP2PManager - few questions 【发布时间】:2015-03-26 14:31:23 【问题描述】:

我正在尝试创建一个工具,该工具将同时支持对许多设备的自动测试,其中设备应该对其他操作(操作和反应)做出反应。第一个将启动测试的应该是 Master,接下来的每个都将成为客户端。这是我的问题:

    我可以使用WifiP2pManager.createGroup() 方法使第一个设备成为Master,其他设备成为Clients 吗?我的意思是这样的:

    manager.createGroup(channel, new WifiP2pManager.ActionListener() 
        @Override
        public void onSuccess() 
            //becomes Master
        
    
        @Override
        public void onFailure(int reason) 
            //fails because group already exists, becomes Client
        
    );
    

    客户端是否可以在没有先前的 discoverPeers 和 connect 调用的情况下获取组信息?所以我可以这样做:

    manager.requestGroupInfo(DriverWifiP2PManager.getInstance().getChannel(),  new WifiP2pManager.GroupInfoListener() 
        @Override
        public void onGroupInfoAvailable(WifiP2pGroup group) 
            //i could see group, and if i'm not an owner i could connect to group owner device
        
    );
    

    加入p2p组需要双方都调用connect吗?

感谢您的宝贵时间。

【问题讨论】:

【参考方案1】:

    可以,基本上是创建组的设备成为组所有者,其他人可以作为客户端连接。

    如果我理解的问题没错,答案是否定的,然后正常连接群。

    您只需要从客户端调用connect。请注意,您

    在创建组时获取 Connected 事件,即使没有客户端也是如此 连接的。 当有新的连接事件时,你确实会收到新的连接事件 新客户端连接时也可能会发生断开连接事件 :) 组信息为您提供客户列表,所以从那里 你可以看到有多少客户端连接了

【讨论】:

以上是关于Android WifiP2PManager - 几个问题的主要内容,如果未能解决你的问题,请参考以下文章

Android WifiP2pManager 加密/安全

Android WifiP2PManager - 几个问题

NSD 和 WifiP2pManager 有啥不同?

检查android wifip2p连接是不是成功?

WiFiP2PManager、OnPeersAvailable、DeviceList.Count 为零 - 始终

WifiP2pManager.requestPeers() 在 onPeersAvailable() 中不断返回旧对等点