在未连接到公共网络的情况下发现另一个 ios 设备
discover another ios device without connecting to common network
我正在研究 Multipeer Connectivity Framework,试图找到一种连接附近设备的方法。更准确地说,我有两部 iPhone 可供使用。这个想法是在它们之间建立连接,以便能够传输小的音频流。一对一连接就够了,不用建群
一切正常,如果我执行以下任一操作,设备可以相互发现:
- 在两个设备上打开蓝牙
- 将它们连接到同一个 Wi-Fi 网络
- 在它们之间手动建立点对点 wi-fi 连接
但是是否有可能仅通过同时打开 wi-fi 来以某种方式发现附近的设备?理想情况下,他们会 "see" 彼此并建立直接联系。
如果有人问过这样的问题,我很抱歉,但很难用一句话表达我想要达到的目标,因此很难找到任何相关信息。
如果你只需要发送一些音频或视频文件到另一个苹果设备,我想你可以使用airDrop来做到这一点。
事实证明,仅使用 Bounjour API(NSNetService
级别)就非常容易:
let browser = NSNetServiceBrowser()
browser.includesPeerToPeer = true
最终从 Apple 获取了 this excellent example,在 swift 中重写了部分内容并根据我的需要进行了调整。
注意:我也尝试过让它与 MultipeerConnectivity 框架一起工作,但它就是行不通。尽管设备会成功发现彼此,但它们仍然无法建立连接。
基于 NSNetService
的解决方案工作得很好。
我正在研究 Multipeer Connectivity Framework,试图找到一种连接附近设备的方法。更准确地说,我有两部 iPhone 可供使用。这个想法是在它们之间建立连接,以便能够传输小的音频流。一对一连接就够了,不用建群
一切正常,如果我执行以下任一操作,设备可以相互发现:
- 在两个设备上打开蓝牙
- 将它们连接到同一个 Wi-Fi 网络
- 在它们之间手动建立点对点 wi-fi 连接
但是是否有可能仅通过同时打开 wi-fi 来以某种方式发现附近的设备?理想情况下,他们会 "see" 彼此并建立直接联系。
如果有人问过这样的问题,我很抱歉,但很难用一句话表达我想要达到的目标,因此很难找到任何相关信息。
如果你只需要发送一些音频或视频文件到另一个苹果设备,我想你可以使用airDrop来做到这一点。
事实证明,仅使用 Bounjour API(NSNetService
级别)就非常容易:
let browser = NSNetServiceBrowser()
browser.includesPeerToPeer = true
最终从 Apple 获取了 this excellent example,在 swift 中重写了部分内容并根据我的需要进行了调整。
注意:我也尝试过让它与 MultipeerConnectivity 框架一起工作,但它就是行不通。尽管设备会成功发现彼此,但它们仍然无法建立连接。
基于 NSNetService
的解决方案工作得很好。