我正致力于通过UDP发送消息。但是,我一直陷入“绑定端口”的问题。
当我第一次在iOS模拟器上构建项目时,没有什么奇怪的事情发生。一切都很好。
但是当我第二次建造这个项目时。当应用程序尝试绑定端口时,我收到来自终端的错误消息。
消息如下所示“Error Domain = NSPOSIXErrorDomain Code = 48”地址已在使用“UserInfo = 0x767c830 {NSLocalizedFailureReason = bind()函数中的错误,NSLocalizedDescription =地址已在使用中}”
让我感到困惑的是,当我在iPad上运行我的应用程序时,没有出现错误。
我想也许是因为我没有关闭套接字。但为什么它在iPad上正确运行?
希望有人能解决这个问题。 THX!
答案 0 :(得分:3)
GDAAsyncUdpSocket的当前头部(也)没有(也)设置SO_REUSEPORT(它只是做ADDRESS,这对于TCP而言已经足够了)。
我刚刚快速修复了一下:
https://github.com/dirkx/CocoaAsyncSocket/commit/5ec8c83d59ecb754824f706198eb62e29961c1be
https://github.com/dirkx/CocoaAsyncSocket
它也应该在上游修复:
https://github.com/robbiehanson/CocoaAsyncSocket/pull/159
谢谢,
DW传递。