swift GCDAsyncSocket acceptOnPort :Error: not opening a port?

标签 swift gcdasyncsocket

我在 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。

最佳答案

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

关于 swift GCDAsyncSocket acceptOnPort :Error: not opening a port?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24765439/

相关文章:

xcode - 从 Swift 客户端上的 TCP 服务器获取响应

ios - [NSDate date] 在多个设备中的不同结果

ios - 创建一个圆形颜色选择器

ios - 查询firebase中的有限数据

ios - Alamofire:参数未传递到服务器

ios - iPhone:启用蜂窝 radio 的 IPv4 Wi-Fi 访问失败

swift - 警告 : Attempt to present <UIImagePickerController: > on <. ..> 已经呈现(空)

swift - 如何在 Realm 模型上设置观察者?

objective-c - 发送到 IPv6 地址时 GCDAsyncUdpSocket 立即关闭

Objective-C委托(delegate)