Ios NWConnection SSDP发现未接收数据
我正在尝试执行SSDP发现广播,但无法从NWConnection.receive获取回复数据 Network.framework是相对较新的,没有太多的信息。我错过了什么 SSDP发现广播已发送,UPnP设备已回复。(下面是Wireshark截图)Ios NWConnection SSDP发现未接收数据,ios,swift,xcode,udp,ssdp,Ios,Swift,Xcode,Udp,Ssdp,我正在尝试执行SSDP发现广播,但无法从NWConnection.receive获取回复数据 Network.framework是相对较新的,没有太多的信息。我错过了什么 SSDP发现广播已发送,UPnP设备已回复。(下面是Wireshark截图) 结果是网络。framework还不支持UDP广播(2019年2月) 使用UDP尝试以下方法: connection.receiveMessage { (data, context, isComplete, error) in print(
结果是网络。framework还不支持UDP广播(2019年2月)
使用
UDP
尝试以下方法:
connection.receiveMessage { (data, context, isComplete, error) in
print(data ?? "", context ?? "", isComplete, error ?? "")
}
这是一个很好的例子
我在TCP
上遇到了相反的问题,当时正在使用连接。receiveMessage(…)
发生了同样的事情-从未进入回调。我在网上发了一个问题。使用TCP
时,您只能使用:
connection.receive(minimumIncompleteLength: 1, maximumLength: 65535) { data, context, isComplete, error in
print(data ?? "", context ?? "", isComplete, error ?? "")
}
一位名为以下人员的苹果开发人员技术支持专家:
。TCP不是面向消息的协议,因此
receiveMessage(…)
receive(minimumIncompleteLength:maximumLength:completion:)
没有任何意义。您想要的是
receiveMessage(…)
receive(minimumIncompleteLength:maximumLength:completion:)
也就是说,使用
UDP
尝试connection.receiveMessage(…)
感谢NWconnection示例,即使这个示例不起作用。一旦我们习惯了,NWconnection编程似乎会比CFnetwork更容易。iOS 14 beta版现在支持多播,这似乎会引起您的兴趣