默认
发表评论 10
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
我觉得吧,还得在“如何准确的知晓客户端状态” 上,做些修改。
1 如果用 netty 的话,有默认的心跳机制,也可以自己实现。 如果得不到心跳的话,就认为客户端已离线。发消息的时候,要先判断这个在线状态。 ios 中切换到后台的话,没被杀死可以推送到,杀死的话,通过心跳机制可以感知。

2 心跳机制有个时间间隔,如果刚好在时间间隔内,客户端掉线,服务端还未正确感知到,那么推送的时候会返回连接已关闭,这时手动修改客户端状态为已离线就好。
评论 10
刚翻了下netty 代码(java),发送消息的时候,可以注册一个监听,当最终结果到达的时候,可以做后续的处理。关于半开半闭的连接,同理如此。

1605160272646.jpg (141.29 KB, 下载次数: 1281)

1605160272646.jpg
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部