Ios CocoaAsyncSocket已发送UDP,但没有响应
信息:我的本地网络上有一个设备,它是一个UDP服务器,当我向它发送“hello”时,我会得到一个“how are you”响应,但我不知道IP,所以我必须向本地网络的每个IP发送“hello”以查找该设备 问题:当我直接向我的设备IP发送“hello”时,我会得到响应,但我向每个IP发送“hello”时,大部分时间我都没有收到响应(有时我会收到响应) 我的一些代码: //首先创建GCDAsyncUdpSocket的实例Ios CocoaAsyncSocket已发送UDP,但没有响应,ios,swift,sockets,udp,cocoaasyncsocket,Ios,Swift,Sockets,Udp,Cocoaasyncsocket,信息:我的本地网络上有一个设备,它是一个UDP服务器,当我向它发送“hello”时,我会得到一个“how are you”响应,但我不知道IP,所以我必须向本地网络的每个IP发送“hello”以查找该设备 问题:当我直接向我的设备IP发送“hello”时,我会得到响应,但我向每个IP发送“hello”时,大部分时间我都没有收到响应(有时我会收到响应) 我的一些代码: //首先创建GCDAsyncUdpSocket的实例 udpSocket = GCDAsyncUdpSocket(delegate
udpSocket = GCDAsyncUdpSocket(delegate: self, delegateQueue: DispatchQueue.global())
do{
log.debug("bind port")
try self.udpSocket?.enableReusePort(true)
try self.udpSocket?.bind(toPort: 0)
udpBindedToPort = true
try self.udpSocket?.beginReceiving()
}catch {
log.error("error")
udpBindedToPort = false
self.delegate?.findDeviceTimeout(0)
return
}
//这不起作用
Async.background({[weak self] () in
for i in 1...255 {
let targetIP = ip_sub + ".\(i)"
self?.send(Define.scanDeviceMessage, host: targetIP, tag: Define.scanDeviceTag)
}
})
//这很有效
Async.background({[weak self] () in
let targetIP = "192.168.0.101"
self?.send(Define.scanDeviceMessage, host: targetIP, tag: Define.scanDeviceTag)
})
//代表
@objc func udpSocket(_ sock: GCDAsyncUdpSocket, didReceive data: Data, fromAddress address: Data, withFilterContext filterContext: Any?
) {
print("UDP接收到数据 : \(String(data:data, encoding: String.Encoding.utf8))")
}
谢谢你的帮助,这让我发疯,有时有效,但有时无效,现在不再有效了有什么消息吗?我也有同样的问题。我在CoCoaGithub页面上发布了一个问题,请参阅:有相关的新闻吗?我也有同样的问题。我在CocoaAsyncSocket github页面上发布了一个问题,请参阅: