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

点赞