GCDAsyncSocket不释放端口

时间:2014-03-01 14:45:50

标签: ios sockets gcdasyncsocket

我正在使用以下代码:

    _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命令回复说“Address already is use”。

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

我的工作做得很好。什么可以改变的想法?

1 个答案:

答案 0 :(得分:0)

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