日期:2014-05-20  浏览次数:21009 次

[方案征集]在网络不顺畅的环境下,怎么提高UDP通讯的成功率
前提:
在C/S软件中,用户端的环境是千奇百怪的。基于性能的原因,软件中需要使用UDP作为基础的通迅协议。

问题:
在网络不顺畅的环境下,比如Client与server之间的网络ping值大于400左右(经验值,也可能更高),UDP的丢包率就会大幅提升,尽管做了超时重试,但相当一部分的通讯功能仍然没办法完成。

范围:
1 使用TCP,或者尽量将UDP写成TCP的建议就不要提了。
2 在使用UDP协议的前提下,提升UDP通讯的健壮性。

------解决方案--------------------
怎么没人过问呢
------解决方案--------------------
探讨
前提:
在C/S软件中,用户端的环境是千奇百怪的。基于性能的原因,软件中需要使用UDP作为基础的通迅协议。


------解决方案--------------------
QQ主要也是使用UDP,在比较差的环境中,他似乎也是工作得很好
------解决方案--------------------
在发送数据的过程中,如果超时则多重试几次,UDP只能尽量减少丢包的情况发生,完全不丢包是不可能的
------解决方案--------------------
可以结合起来吗?如果发现使用UDP情况不妙,则改为使用TCP