NSD和WifiP2pManager有什么不同?

时间:2015-02-17 09:41:51

标签: android wifi wifi-direct wifimanager

在Android中制作WiFi程序有多种选择,最常见的方法是使用 NSD WifiP2pManager

这两个选择有什么不同?

1 个答案:

答案 0 :(得分:16)

首先,这些不是要区分的两个实体。即使您使用Wi-Fi P2p进行NSD,也应使用WifiP2pManager进行连接启动和协商。 NSD将用于发现阶段

我认为您的问题是使用 Wi-Fi P2p服务发现(NSD)和不使用(使用正常扫描WifiP2pManager.discoverPeers())之间的区别。

在三个子主题下明确提供了答案here。然而

差异实际上处于初始阶段:对等发现阶段

  • 当您不使用Wi-Fi P2p服务发现时,您将扫描所有内容 通过WiFi直接激活的设备。扫描结果列表可能包含您不感兴趣的对等项。由于您没有过滤器,因此无法提供帮助。
  •   

    如果您需要仅发现属于您的同伴   兴趣,然后应使用 Wi-Fi P2p服务发现 。在这里,   过滤条件在服务名称中设置。

         

    例如:你的应用程序" XYZ"需求   仅与使用相同应用程序的其他设备组成组   " XYZ",然后你可以创建一个服务并命名它,比如service_xyz,   此服务信息将与Wi-Fi Direct一起广播   设备细节。在接收器端,您实现服务侦听器   听取服务" service_xyz" 。通过这样做,只有设备   发现并列出所需的服务名称。对...有用   游戏应用,社交网络应用。

然而,在此阶段之后,在两种方法中,从发现的列表中选择特定设备并启动连接请求。从这里开始,以下阶段是相同的 - 连接请求,协商,组形成......

希望这对你有所帮助。