有问题连接到IPv6与CocoaAsyncSocket library无法连接到IPv6 CocoaAsyncSocket
我已成功地GCDUDPAsyncSocket工作,但实现TCP是更适合我的使用情况主机。
不幸的是 - 我永远无法成功地连接发布和发现的bonjour NSNetService。该服务被发现并且地址也被发现。连接尝试没有失败发生,但连接永远不会受到保护。
我可以连接使用“connectWithHost”并传递分配给我的Mac的IP地址,但这是唯一的方法,我可以得到该IP是通过硬编码它。有没有办法通过NSNetService获取这个IP?
我使用的是swift,Xcode 7.1.1和iOS 9.1。我正在连接iPhone和运行Apple TV Simulator的Mac。这对UDP很有效。
无论如何 - 即使提供了适当的地址,连接尝试也会超时!
Socket is Disconnecting - Error Domain=NSPOSIXErrorDomain Code=60 "Operation timed out" UserInfo={NSLocalizedDescription=Operation timed out, NSLocalizedFailureReason=Error in connect() function}
以前有人碰到过这个吗?这里是我的连接代码:
func connectToAddress(sender: NSNetService) {
if let addresses = sender.addresses {
for address in addresses {
print(address)
}
self.serverAddresses = addresses
var done = false
while !done && (self.serverAddresses.count > 0) {
let address = self.serverAddresses[0]
self.socket = GCDAsyncSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
do {
try self.socket.connectToAddress(address)
done = true
} catch {
print("Unable to Connect")
}
}
if !done {
print("Could Not Connect To Address")
}
}
}
CocoaAsyncSocket(7.5.0)已经更新,正如我提到的IPv6,所以现在不需要改变任何东西。 – Raniys