相关疑难解决方法(0)

在 macOS 10.12 上绑定到套接字时出现 NSPOSIXErrorDomain

我正在 Swift 中使用CocoaAsyncSocket来绑定到 UDP 套接字并通过本地网络接收消息。

我正在初始化一个套接字,并尝试绑定到一个端口,但出现错误NSPOSIXErrorDomain。也许表明某种权限问题?

我的代码:

import Cocoa
import CocoaAsyncSocket

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, GCDAsyncUdpSocketDelegate {
    func applicationDidFinishLaunching(_ aNotification: Notification) {
        let socket = GCDAsyncUdpSocket.init(delegate: self, delegateQueue: DispatchQueue.main)
        do {
            try socket.bind(toPort: 53401)
        } catch let msg {
            NSLog("Error....\(msg)")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

完整错误:

Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted" UserInfo={NSLocalizedDescription=Operation not permitted, NSLocalizedFailureReason=Error in bind() function}
Run Code Online (Sandbox Code Playgroud)

sockets macos udp cocoaasyncsocket swift

8
推荐指数
2
解决办法
1798
查看次数

标签 统计

cocoaasyncsocket ×1

macos ×1

sockets ×1

swift ×1

udp ×1