我试图找出AWDL是什么.在iOS上,如果您通过BlueTooth使用Apple的点对点网络,Apple似乎会创建一个新的网络接口"awdl0"来实现(我猜)IP-over-BT.
但是我找不到关于这个技术或这个界面的任何文档,它的行为方式,我们必须/不能用它做的事情等等.谷歌出现了空白:(.
特别是,我认为它意味着"建立了一个BT连接,我正在顶层运行一个IP桥接器,你可以用它来进行点对点通信".Apple自己的系统库存在错误,这种桥的设置速度不够快,如果过早发送数据,它似乎会被操作系统删除.所以...如果我可以查询这个awdl0,我希望检查"你准备好了吗?" 并延迟P2P消息,直到操作系统开心.
更多信息:我可以获得成对的iOS设备来创建彼此的awdl0连接 - 但它们永远不会被创建到OS X机器,无论BT和Bonjour是否打开,设备是否配对.
一些背景:
在iOS5中,Apple永久禁用了Bonjour/Peer-to-peer网络的蓝牙部分,并发布了一个技术说明,指示每个人如果想继续使用蓝牙作为iOS设备之间的传输,则使用DNS-SD.这很好,但这意味着如果你想要高性能的BT,你必须使用DNS-SD,并且你希望它可靠.
(GameKit 有时可以正常工作,但我们经常会在现实场景中看到糟糕的表现,例如拥挤的公共场所 - 如果您使用DNS-SD就会消失)
DNS-SD协议不包含告诉您硬件使用的信息.但它确实告诉你网络接口(这就是我知道我们在awdl0上运行的方式)
DNS-SD非常棒,我们在iOS设备之间进行点对点的高速,低延迟连接 - 所有GameKit承诺的东西,但是当范围内有多个wifi/BT设备时,它们往往无法提供.