1

我正在使用以下代码:

    _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 命令收到一条错误消息,说“地址已被使用”。

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

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

4

1 回答 1

0

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

于 2014-03-01T18:13:22.083 回答