WiFi直聊群主

Posted

技术标签:

【中文标题】WiFi直聊群主【英文标题】:WiFi Direct Chat Group Owner 【发布时间】:2014-09-04 09:13:08 【问题描述】:

我正在尝试在 android 中直接与 wifi 聊天。但我有一些问题。假设一个房间里有 10 台设备。为了使它交流,我必须有 1 个组所有者和 9 个客户,对吗?那么,如果我是客户,我如何找到群主与他建立联系?我怎么知道房间里有没有群主?我尝试建立连接,但我已经制作了通信 3 设备,但手动进行。我想在一个房间里找到一个群主并连接到它。我也尝试在“GroupOwner”中重命名设备,但不可行。

【问题讨论】:

【参考方案1】:

使用 WiFiP2PManager,您将能够扫描群组所有者并获取列表,就像扫描 WiFi AP 一样。您还可以向其中之一发送连接请求。所有这些都可以通过编程来完成。 Android 4.1 还提供了 WiFi-direct 的示例代码:

http://www.androidside.com/docs/resources/samples/WiFiDirectDemo/index.html

【讨论】:

我是准确的。我想在不建立联系的情况下认识组所有者。 在DeviceDetailFragment类的onClick函数中。 你可以试试 WiFiP2PManager 中的 requestConnectionInfo 和 requestGroupInfo 看看他们是否提供了群主信息。【参考方案2】:

我怎么知道房间里有没有群主?

一旦您在onPeersAvailable 回调中获得对等点列表,您就可以调用

WifiP2pDevice groupOwner = null;
Collection<WifiP2pDevice> deviceList = peerList.getDeviceList();
ArrayList<WifiP2pDevice> peers = new ArrayList<WifiP2pDevice>();
peers.addAll(deviceList);
int i = 0 ;
while(i < peers.size() && groupOwner ==null)
    if(peers.get(i).isGroupOwner() == true)
        groupOwner = peers.get(i);
    
    i =i+1 ;

我希望这有助于找到您的群组所有者。

【讨论】:

以上是关于WiFi直聊群主的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WiFi Direct 中获取非群组所有者的 IP 地址?

数据如何在 android wifi 直接连接中通过

Wifi直连(p2p)一对多音频传输

在 android 中与套接字共享 WiFi 数据

带频道的 wifi p2p 网络

那些年,程序员都遇到过的坑