iOS NSURLConnection错误-1002
我有一个应用程序,需要使用UDP与另一个设备进行通信。 我正在使用iOS NSURLConnection错误-1002,ios,swift,networking,udp,gcdasyncsocket,Ios,Swift,Networking,Udp,Gcdasyncsocket,我有一个应用程序,需要使用UDP与另一个设备进行通信。 我正在使用GCDAsyncUDPSocket框架 我不知道需要发送回的端口,直到我第一次在端口14550上收到 为了解决这个问题,我实现了两个不同的套接字,一个传输套接字和一个接收套接字 func wifiConnect() { receiveSocket = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue()) transmi
GCDAsyncUDPSocket
框架
我不知道需要发送回的端口,直到我第一次在端口14550上收到
为了解决这个问题,我实现了两个不同的套接字,一个传输套接字和一个接收套接字
func wifiConnect() {
receiveSocket = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
transmitSocket = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
do {
try receiveSocket!.bindToPort(14550)
try transmitSocket!.enableBroadcast(true)
try receiveSocket!.beginReceiving()
} catch _ as NSError { print("Issue with setting up listener") }
}
首先,我初始化两个插座并打开接收插座上的端口14550
func wifiConnect() {
receiveSocket = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
transmitSocket = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
do {
try receiveSocket!.bindToPort(14550)
try transmitSocket!.enableBroadcast(true)
try receiveSocket!.beginReceiving()
} catch _ as NSError { print("Issue with setting up listener") }
}
然后,我等待该端口上收到数据,然后连接到传输套接字的发送方地址
func udpSocket(sock: GCDAsyncUdpSocket, didReceiveData data: NSData, fromAddress address: NSData, withFilterContext filterContext: AnyObject?) {
if !udpConneced {
do {
try transmitSocket?.connectToAddress(address)
} catch let error {
NSLog("Error connecting to address. %@",String(error))
return
}
}
dataReceived(data)
}
连接后,udpConnected
设置为true并运行函数
func udpSocket(sock: GCDAsyncUdpSocket, didConnectToAddress address: NSData) {
udpConnected = true
didConnect()
}
但是,有时整个应用程序会崩溃并出现此错误
NSURLConnection finished with error - code -1002
我理解这是一个无效的URL,但是我自己并没有将任何URL传递到任何套接字
是什么导致了这个问题?我知道连接设备的IP,所以我应该使用它来连接传输插座吗
谢谢 解决了这个问题。原来testflight没有报告完整的坠机日志。我自己设法造成了这次崩溃,并发现这与NSURL或GCDASYNC无关。这是由于在罕见的情况下调用变量时变量为零而导致的。解决了这一问题。原来testflight没有报告完整的坠机日志。我自己设法造成了这次崩溃,并发现这与NSURL或GCDASYNC无关。这是由于在极少数情况下调用变量时变量为零造成的。请不要在问题中包含答案。如果你自己解决了问题,你可以发布自己的答案。谢谢。请不要在你的问题中包含答案。如果你自己解决了问题,你可以发布自己的答案。非常感谢。