怎么样从逻辑的角度保证数据包对方收到?

AKULAKK 2007-09-19 05:09:57
我的思路是
A--->发送数据包到消息队列(附上时间戳getTimer()),消息队列不停的间隔3秒发送一次队列消息.B如果接受到数据包,则丢入消息队列并每间隔3秒回发消息,A收到对应时间戳的消息,则表明对方服务器100%收到了,然后重复发送[我收到了](时间戳)给目标服务器中止消息重发.最后A B 都100%确定对方收到了自己的消息,过程结束.

问题是,这种方法你们不觉得麻烦吗?有没有更好的解决方案?

运行环境很糟糕,对方美国服务器,PING 500 + ,丢包严重,经常发送的聊天数据包对方收不到,重新发几次才行.通过各个方面的测试断定为中途丢包.所以出次下策,望各位帮忙,不胜感激!!
...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
z940417 2008-04-25
  • 打赏
  • 举报
回复
一次发送n个数据包加时间戳 然后等待B 收到的信息 B收到之后检查缺少哪些数据包再报告给A,A再把缺少的数据包放倒下次n个数据包中
AKULAKK 2008-04-23
  • 打赏
  • 举报
回复
消息重发机制能解决吗?
AKULAKK 2007-09-29
  • 打赏
  • 举报
回复
在恶劣网络环境下要掉包的 这个纯粹是硬件质量问题造成的
luckydean 2007-09-24
  • 打赏
  • 举报
回复
tcp不能保证吗?
AKULAKK 2007-09-20
  • 打赏
  • 举报
回复
请进来看看

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧