概要

网上假货。在不能使用网络的情况下,IM软件还显示在线。

网上是假的“在线——当前离线”之间的状态,在这段时期。用户无法发送消息。用户可以创建假冒网上心跳的错觉(点击了解)。缓解;之所以说缓解,是由于假在线没法根除。

造成假在线的条件

IM软件出现“假在线”给用户的感觉是,该IM软件不够聪明。有时候,用户知道网络不可用了,可是软件仍然没有反应过来。举2个样例:

例1:用户通过家庭WIFI登录IM软件,用户把路由器的入口网线拔了。那么WIFI能连接上。但肯定连接不到外网。这个情况,差点儿IM软件都会假在线,原因是IM软件连接的wifi,不知道wifi还有一端已经断开。这个场景,仅仅能凭借心跳。结束假在线的状态。

例2:在地铁中。用户凭借经验推断。地铁中没有信号。

用户从地面进入到地铁。IM软件还显示在线,这就是假在线。可能过一段时间就会又一次连接。

网络问题。是无法避免的。

强制注销

在开发中发现一个bug,其它client已经把手机client踢了,可是手机client仍然显示在线。排除网络的原因,可能是Server或者client对注销信令没有处理好。

解决假在线

一、利用心跳

心跳超时后,主动让client离线。

二、既然不可避免,通过观念,淡化假在线。

如今的IM软件比較聪明了,软件登录和消息发送是两个事情。登录仅仅管登录,消息依据超时来推断是否超时。

比如:qqclient,离线状态还能够发送消息,仅只盘旋了,等待几分钟,提示失败。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

最新文章

  1. ASP.NET页面回车键触发Button按钮事件问题
  2. C++杂谈(三)产生随机数与time函数
  3. RSA 加解密算法
  4. 关于Stock Quant与生产内容的理解
  5. Java设计模式之适配器设计模式
  6. n个数的最小公倍数
  7. Codeforces Round #328 (Div. 2) D. Super M 虚树直径
  8. Codeforces #252 (Div. 2) B. Valera and Fruits
  9. Gentoo/Funtoo USE标记介绍
  10. C# 利用位运算传递多个参数方法
  11. JS_ Date对象应用实例
  12. 把nginx当完全tcp端口转发器
  13. netty入坑第一步:了解netty和编写简单的Echo服务器和客户端
  14. redis:set集合类型的操作(无序集合)
  15. input 文本框自动显示光标
  16. 小程序之取标签中内容 例如view,text
  17. windows系统如何设置域名解析
  18. Aspose.Word 输出表格后空格字符丢失的解决方法
  19. php使用 utf8_encode 来将特殊字符转成 utf8
  20. jquery 点击页面流畅弹出预定文字

热门文章

  1. ZOJ 1076 Gene Assembly LIS
  2. 基于Android Fragment功能的样例
  3. Python 标准库和第三方库的安装位置、Python 第三方库安装的各种问题及解决
  4. php模拟post提交文件图片等
  5. 【u008】瑞瑞的木棍
  6. LUA整合进MFC代码
  7. Android的NDK开发(1)————Android JNI简介与调用流程
  8. [CortexM0--stm32f0308]Option Byte
  9. [NPM] Make npm scripts cross-environment friendly
  10. jquery-1 jquery几个小实例