即时通讯 openfire掉包
android客户端,openfire,XMPP。
在openfire向客户端发送消息的时候会出现掉包的问题。客户端打电话,网络信号不好等等原因都会造成这个问题。所以现在想解决掉包的这个问题。不知道有没有现成的openfire插件,或者哪位朋友有自己写的插件?或者谁有任何的解决方案么!!!!
可以购买。真心求教...
QQ255648392
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
完美解决方案??
我有完美解决方案。那个什么“回执”,真的是很呆
请问,asmack丢包问题解决了吗? 有好的分案,分享一下,或者给钱什么都可以。。
回复
那你们最后怎么解决丢包问题的....
我也有碰到了类似的问题,请问有相关的插件吗?
我也碰到类似的问题. 解决方案:
1,服务器收到客户端消息后.根据id进行缓存.
2.客户端收到消息后到服务器发送消息id.
3.服务器定时轮询缓存消息列表.超过5秒未收到客户端发送消息回执id的存入离线库
采用插件方式嵌入服务器部分逻辑.客户端对收到的消息进行回执.
生产环境使用中出现的问题:
消息不丢了.反而多了起来..
所以需要在客户端进行对应处理.相同消息id只做一次处理...
最后..你的qq ...确定是qq ? 查无此人啊
网络上的丢包,原因是接收端掉网。掉网了以后服务器不知道接收端掉网了,他发出来,就丢了。我现在的需求也可以说要求的不光是“即时“通讯,还要包括准确的”离线消息“我能简单的想到设计的方案,但是没有时间去鼓捣了。更别谈验证我的方案了。手里事情太多。所以想看看有没有现成的,比如现成的openfire插件。就2个原则,1:快,不需要花太多时间去专研。2:解决接收方在掉网情况下的掉包率。
三次握手这个,用处不太大。现在通过XMPP的特性,已经能收到消息回执了。但是老总不买账,不管是心跳检测还是ACK通知,都并没有解决掉包的情况。最多就是解决了,发起方知道自己发送的消息是否收到的问题。 thanks anyway!
回复
可以分享下解决方案吗?谢谢~~~
你指哪方面丢包?是链接网络上的丢包,还是说协议层丢包?如果是网络,没见到好的解决方法,如果是协议层丢包,可能是客户端使用协议封装库的问题。
ApacheMINA框架丢包情况极少数,如果服务器负载超额也有可能数据错乱或丢包;如果对XMPP协议使用不熟练,可以拿
ApacheMINA框架封装个自己的协议去试网络,模拟个http三次握手,通讯都是安全的。