GCDAsyncUdpSocket无法在iOS模拟器上绑定端口

我正在通过UDP发送消息。 但是,我一直被困在“绑定端口”的问题上。

当我第一次在iOS模拟器上构build项目时,没有什么奇怪的事情发生。 一切都很好。

但是当我第二次build立这个项目的时候 当应用程序尝试绑定端口时,我收到来自terminal的错误消息。

消息是这样的“错误域= NSPOSIXErrorDomain代码= 48”地址已经在使用“UserInfo = 0x767c830 {NSLocalizedFailureReason =错误在bind()函数,NSLocalizedDescription =地址已经在使用}”

令我困惑的是,当我在iPad上运行我的应用程序时,错误没有出现。

我想也许这是因为我没有closures套接字。 但为什么它在iPad上正确?

希望有人能解决这个问题。 谢谢!

GDAAsyncUdpSocket的当前头不(也)设置SO_REUSEPORT(它只是地址,这对于TCP来说已经足够了)。

我刚刚popup一个快速修复:

https://github.com/dirkx/CocoaAsyncSocket/commit/5ec8c83d59ecb754824f706198eb62e29961c1be

https://github.com/dirkx/CocoaAsyncSocket

它也应该固定在上游:

https://github.com/robbiehanson/CocoaAsyncSocket/pull/159

谢谢,

DW。