gpt4 book ai didi

iOS NSURLConnection 错误-1002

转载 作者:行者123 更新时间:2023-11-28 12:40:51 25 4
gpt4 key购买 nike

我有一个应用程序需要使用 UDP 与另一台设备进行通信。我正在使用 GCDAsyncUDPSocket 框架。

在我第一次在端口 14550 上接收之前,我不知道需要通过哪个端口发回。

为了解决这个问题,我实现了 2 个不同的套接字,一个传输套接字和一个接收套接字。

首先,我初始化两个套接字并在接收套接字上打开端口 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 无关。这是由于在极少数情况下被调用时变量为 nil 引起的。

关于iOS NSURLConnection 错误-1002,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39442826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com