Socket 服务端断网时,客户端依旧显示连接状态?

Socket 服务端断网时,客户端依旧显示连接状态?

使用socket进行测试:

  1. 客户端断网时,客户端接到断开回调
  2. 服务端手动关闭时,客户端接到断网回调
  3. 服务端运行突然断网时,客户端接收不到断网的回调(分很多场景,参考:
    https://www.cnblogs.com/549294286/p/5077175.html)

为什么在服务端断网时接不到回调呢?

这是因为TCP建立的通道被破坏,造成了所谓的死链接。

这个时候是就需要心跳机制,来互相确认是否在线。

另外一个问题,Socket发送消息时靠什么来判断对方有没有接收到?
最正确的做法是:在接收到消息时,告诉对方这条消息接收成功。

为什么有些Socket框架提供了发送结果的回调?
这个回调结果只是代表 我发出去了,至于我发出去之后的路上遇到了什么,就不得而知了,所以只能有参考作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值