QQ显示离线(qq好友在什么情况下显示离线)

健康新闻 2023-05-01 10:09健康生活www.xingbingw.cn

  QQ显示离线(qq好友在什么情况下显示离线),新营销网红网本栏目通过数据整理汇集了QQ显示离线(qq好友在什么情况下显示离线)相关信息,下面一起看看。

  即时通讯是目前互联网上最流行的交流方式,各种即时通讯软件层出不穷。所以今天我们就把重点放在好友在线状态/群友在线状态上,思考一下实现原理,以及如何测试这个功能。

  你在使用的时候,有没有和我一样的以下疑问

  为什么可以在好友列表中实时看到qq好友的在线和离线状态?

  可以在群友列表中看到当前群友的在线和离线状态。是如何实现的?

  测试工程师应该如何测试其中使用的技术?

  带着这些问题,我搜集了一些资料进行了解、学习和,现在分享性病网给大家。

  我理解的好友在线/离线状态的流程是

  当用户A登录成功后,服务器会将用户A的在线状态写入缓存(高可用性缓存集群);userid-A—“登录——”服务器—”在缓存中设置状态(userid:在线)

  当用户A注销(注销)时,服务器需要找到用户A的缓存,将联机状态(online)改为脱机状态(offline);userid-A—“登录——”服务器—”缓存中的更新状态(userid-A:脱机)

  其他所有用户的状态都会存储在缓存中,所以当用户A登录时,从数据库中找出用户A的好友,然后从缓存中找出这些好友对应的在线状态,这样用户A就可以看到哪些好友在线,哪些离线;

   userid-A——《我的朋友状态——》获取数据库中的朋友userid——《获取缓存中的用户状态(userid1:online,userid2:offline,userid3:offline,userid4:online……)

  上述过程考虑的主要测试点如下

  在没有缓存的情况下,用户A登录时,正常写入缓存(大家应该对缓存有所了解,比如memcache、redis等。如何检查缓存?不知道的同学可以自行咨询或查阅相关资料)

  当用户注销时,缓存中相应的值设置为离线;

  检查缓存的有效性;

  离线/在线时用户A的好友用户B的状态显示是否正确;

  用户A的一些朋友在线或离线。用户A查看好友状态时,状态显示是否正确;

   redis连接异常或超时时该怎么办;

  等等.可以思考需要测试的功能点,了解开发和实现的流程,尽可能覆盖测试点。

  写到这里,其实还有很重要的一点比如用户A的朋友用户B在线,突然,用户B离线了。用户A能立刻看到他的好友从线上变成线下吗?这也是我们测试人员需要考虑的一个功能点!我不确定是不是实时的。如果有人知道,可以分享一下。如果实时性要求高,可以采用推送同步;如果实时性要求不高,可以采用轮询拉同步。

  然后普及下轮询的拉模式和推模式,如下

  什么是轮询拉模式?

  例如如果用户userid-A想要查看他的朋友的在线状态,他必须每分钟轮询服务器以获得他所有朋友的在线状态。缺点是有一分钟的延迟,期间好友状态不变时,请求服务器还会拉大量无效请求的资源临时使用服务器。这种方法可能每个人在工作中都会经常用到,通过不断轮询来获取服务器的信息。

  推的方法是什么?

  继续举例说明如果用户userid-A想看到好友用户userid-b的在线状态,当用户userid-B离线时,会从在线变为离线(更新缓存离线),会将这种状态变化的通知推送给用户userid-B的在线反向好友,这样会变得实时,但缺点是如果在线好友数量较多,用户状态的任何变化都会传播大量的实时通知,需要考虑承载能力。

  你可以想,群友的在线同步过程应该是怎样的?是轮询还是推送?如果以后有时间,可以继续讨论。

   Qq离线显示

  更多QQ显示离线(qq好友在什么情况下显示离线)相关信息请关注本文章,本文仅仅做为展示!

Copyright@2015-2025 www.xingbingw.cn 性病网版板所有