0

我正在编写一个 iOS 应用程序,它使用 socket.io 向服务器发送消息并从 clent 接收消息,一切正常。但是我有一个问题:当我进入我的应用程序并连接并发送消息时一切正常,然后我按Home键进入系统设置应用程序,选择飞行模式关闭wifi,然后关闭飞行模式并连接wifi ,我回到我的应用程序,但套接字无法重新连接。如果我将其他互联网请求作为下载图片,则始终显示进度对话框。

我不知道我的错误,我要疯了。

我使用https://github.com/pkyeck/socket.IO-objc

4

1 回答 1

1

您是否检测到 wifi 何时打开/关闭?你应该。在这里查看:Apple 可达性示例

当您收到断开连接通知时,您可以断开您的套接字。wifi恢复后再次连接。当应用程序进入后台时,您也应该断开连接。

我不会指望套接字会神奇地重新连接。实现所有 socket-io 委托以了解它何时断开连接或出现错误。在这些情况下,更改您的 socket-io 对象、断开连接等。任何有意义的事情。您可能需要一个标志来了解当前的套接字状态(连接、断开连接等)。当您在重新连接 wifi 后重新激活应用程序时,您应该知道该做什么,具体取决于您的状态标志和实际的 socket-io 对象。

于 2012-11-27T12:37:11.420 回答