当前位置: 代码迷 >> .NET分析设计 >> [方案征集]在网络不顺畅的环境下,如何提高UDP通讯的成功率
  详细解决方案

[方案征集]在网络不顺畅的环境下,如何提高UDP通讯的成功率

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

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

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

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


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