android – xmpp ejabberd互联网连接丢失时的在线离线状态问题
作者:互联网
我有ejabberd设置为移动应用程序之间的xmpp服务器,即.自定义iPhone和Android应用程序.但我似乎遇到了ejabberd处理在线状态的方式的限制.
假设有两个用户A& B朋友互相交流并进行当前的实时聊天对话.假设其中一人丢失了他的互联网连接,那么就无法立即将他的状态更新为服务器.所以他的状态仍然在线.
这个问题的一个解决方案是在xmpp中使用mod_ping模块.但它也有一定的局限性,它将在32秒间隔后ping每个客户端.因此用户的状态更新总是有30到40秒的延迟.
我希望在良好的网络状况下立即更新任何用户的状态(少于10秒).这是每个人都面临的聊天应用程序的第一个场景,我希望有人能帮助我完成这个任务.
解决方法:
在ejabberd即将发布的15.12版本中,您有一个新的mod_ping选项:ping_ack_timeout.你可以放置你想要的任何超时.
这已经在master分支中可用,因此如果需要,您可以使用它:https://github.com/processone/ejabberd
标签:android,ios,xmpp,ejabberd 来源: https://codeday.me/bug/20190702/1356860.html