即时通讯 openfire掉包

黑狗 发布于 2013/04/11 10:48
阅读 3K+
收藏 0

android客户端,openfire,XMPP。

在openfire向客户端发送消息的时候会出现掉包的问题。客户端打电话,网络信号不好等等原因都会造成这个问题。所以现在想解决掉包的这个问题。不知道有没有现成的openfire插件,或者哪位朋友有自己写的插件?或者谁有任何的解决方案么!!!!

可以购买。真心求教...

QQ255648392

加载中
0
李天然
李天然
你指哪方面丢包?是链接网络上的丢包,还是说协议层丢包?如果是网络,没见到好的解决方法,如果是协议层丢包,可能是客户端使用协议封装库的问题。 ApacheMINA框架丢包情况极少数,如果服务器负载超额也有可能数据错乱或丢包;如果对XMPP协议使用不熟练,可以拿 ApacheMINA框架封装个自己的协议去试网络,模拟个http三次握手,通讯都是安全的。
Ejabberd
Ejabberd
回复 @黑狗 : 可以分享下解决方案吗?谢谢~~~
黑狗
黑狗
三次握手这个,用处不太大。现在通过XMPP的特性,已经能收到消息回执了。但是老总不买账,不管是心跳检测还是ACK通知,都并没有解决掉包的情况。最多就是解决了,发起方知道自己发送的消息是否收到的问题。 thanks anyway!
黑狗
黑狗
网络上的丢包,原因是接收端掉网。掉网了以后服务器不知道接收端掉网了,他发出来,就丢了。我现在的需求也可以说要求的不光是“即时“通讯,还要包括准确的”离线消息“我能简单的想到设计的方案,但是没有时间去鼓捣了。更别谈验证我的方案了。手里事情太多。所以想看看有没有现成的,比如现成的openfire插件。就2个原则,1:快,不需要花太多时间去专研。2:解决接收方在掉网情况下的掉包率。
0
大苹果
大苹果

我也碰到类似的问题. 解决方案: 

1,服务器收到客户端消息后.根据id进行缓存.

2.客户端收到消息后到服务器发送消息id.

3.服务器定时轮询缓存消息列表.超过5秒未收到客户端发送消息回执id的存入离线库

采用插件方式嵌入服务器部分逻辑.客户端对收到的消息进行回执.

生产环境使用中出现的问题:

消息不丢了.反而多了起来..

所以需要在客户端进行对应处理.相同消息id只做一次处理...

最后..你的qq ...确定是qq ? 查无此人啊


hucarrot021
hucarrot021
我也有碰到了类似的问题,请问有相关的插件吗?
大苹果
大苹果
回复 @黑狗 : 那你们最后怎么解决丢包问题的....
黑狗
黑狗
....果然QQ弄错了。。。 254648392 现在又没做那个项目了。。。
0
k
kenny68
请问,asmack丢包问题解决了吗? 有好的分案,分享一下,或者给钱什么都可以。。
0
snowingximen
snowingximen

我有完美解决方案。那个什么“回执”,真的是很呆

hocus
hocus
完美解决方案??
0
Ejabberd
Ejabberd
最近在搞丢包和离线问题,可以分享下解决方案吗?谢谢~~
返回顶部
顶部