如何检测 ASyncSocket 中的远程断开连接

Posted

技术标签:

【中文标题】如何检测 ASyncSocket 中的远程断开连接【英文标题】:How to detect remote disconnection in ASyncSocket 【发布时间】:2012-12-16 23:57:02 【问题描述】:

我在 Cocoa 上使用 ASyncSocket,但是当远程主机断开连接时,我没有收到 onSocketDidDisconnect 事件(可能每 5 次测试一次)。 -isConnected 方法返回 TRUE。如何检测远程主机断开连接?谢谢 !

【问题讨论】:

【参考方案1】:

如果没有读入队列,AsyncSocket 将不会报告远程对等方断开连接。我认为这是 CFStream 本身的一个错误(不要引用我的话)。通过读取总是排队,我们似乎相处得很好。

【讨论】:

【参考方案2】:

我的实现方式是所有客户每 x 秒或每分钟注册一次。 如果客户端断开连接,则不再注册,因此我认为它未连接。

【讨论】:

以上是关于如何检测 ASyncSocket 中的远程断开连接的主要内容,如果未能解决你的问题,请参考以下文章

ios socket第三方框架 AsyncSocket使用简介,连接,心跳,断线,数据发送与接收

如何在 Firebase 作业调度程序中检测网络断开连接?

如何检测 socket.io 上的断开连接?

Eventsource golang:如何检测客户端断开连接?

如果服务器断开我的连接,如何检测客户端?

如何检测Socket IO中的重新连接事件