首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCDAsyncSocket未释放端口

GCDAsyncSocket未释放端口
EN

Stack Overflow用户
提问于 2014-03-01 22:45:50
回答 1查看 577关注 0票数 1

我使用了以下代码:

代码语言:javascript
复制
    _broadcastReceiveSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:_broadcastHandler delegateQueue:_broadcastQueue];

    BOOL successfulStart = [_broadcastReceiveSocket bindToPort:BROADCAST_PORT error:error]
    && [_broadcastReceiveSocket joinMulticastGroup:BROADCAST_HOST error:error]
    && [_broadcastReceiveSocket beginReceiving:error];

若要启动侦听UDP广播的套接字,请执行以下操作。

但我似乎只能在模拟器中运行这段代码一次。在那之后,我从bindToPort命令中得到了一个错误信息,说“地址已经被使用了”。

到目前为止,我找到的解决这个问题的唯一方法是重新启动机器。从开发人员的角度来看,这是完全不切实际的。

我已经让它工作得很好了。有什么想法可以改变吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-02 02:13:22

您必须通过向套接字发送close消息来关闭套接字(或者完全销毁它)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22115769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档