1

我在 10.9 上使用 Xcode beta 3 编写使用 GCDAsyncSocket 的服务器。以下代码返回 true 并且不会产生错误,但 Network Utility 说端口 5050 未打开。

var tcpSocket = GCDAsyncSocket(delegate: self, delegateQueue: dispatch_get_main_queue())

let lPort: UInt16 = 5050;
var listenError : NSError?
let listening = tcpSocket.acceptOnPort(lPort, error: &listenError)
if listenError {
    println("Error opening listen socket \(listenError!.localizedDescription)")
} else {
    println("Opened listen port")
}

在同一台机器上,在相同版本的 Xcode 中,等效的 ObjC 运行良好,并在 5050 上打开了一个端口。我的代码、GCDAsyncSocket、Swift 或 Xcode 有问题吗?

TIA。

4

1 回答 1

0

我看到了同样的问题。作为一种解决方法,将侦听端口指定为 0 让操作系统选择要使用的端口似乎对我有用。

于 2014-10-09T03:04:35.873 回答