我正在尝试使用GCDAsyncUdpSocket,但是在bindToPort和beginReceiving函数中遇到这些错误。
无法使用类型为参数的列表调用“ bindToPort”
'&'与类型为'()'的非inout参数一起使用
class UDPServer: NSObject, GCDAsyncUdpSocketDelegate {
let IP = "255.255.255.255"
let PORT:UInt16 = 2052
var sock:GCDAsyncUdpSocket!
override init() {
super.init()
setupConnection()
}
func setupConnection() {
var err: NSError?
sock = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
sock.bindToPort(PORT, error: &err)
sock.beginReceiving(&err)
}
}
我在这里想念什么?
最佳答案
我使用了try / catch块和另一个签名。在较新版本的CocoaAsyncSocket中可能会更改
func setupConnection(){
udpSocket = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
do {
try udpSocket.bindToPort(PORT)
try udpSocket.beginReceiving()
} catch let err as NSError {
err.description
}
}