服务器端
在2-3s内发送4000个UDP包每个UDP数据段长度为600字节
客户端
即便是进行最简单的计算接收到的UDP包的个数也会产生丢包现象这可咋整呢?
好像客户端处理速度跟不上去,可是现在客户端在收到包后的处理已经够简单的了

解决方案 »

  1.   

    要可靠的话需要自己做流控,重发机制。或者直接用TCP
      

  2.   

    用udp就肯定会丢包。
    直接用tcp吧
      

  3.   

    用TCP吧。
    不然自己处理,麻烦的。
      

  4.   

    UDP的可靠性是通过上层来控制的。用CRC来检错,用FEC等来纠错。
      

  5.   

    程序中去控制丢包的错误,让重新发送,嫌麻烦就直接TCP吧!
      

  6.   

    网络情况不错的话 
    UDP发送端 和接受端的速度应该匹配
    如果你收包处理的速度慢的话 ,接收缓冲区肯定丢数据
      

  7.   

    UDP丢包不正常吗?
    UDP 是User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
      

  8.   

    UDP丢包很正常啊
    你可以慢点发数据,可能要丢得少一些
      

  9.   

    接收和处理不要放一起 Socket接收缓冲区设置大一些
      

  10.   

    将Socket接收缓冲区设置大一些,会有啥好处呢,每次不就是只能收一个UDP包么?
      

  11.   

    丢包问题确实很烦人啊
    可以改成TCP传输,或者自己建立重传机制,这个比较繁琐。将接收和处理分开来可以减少udp丢包,但是完全避免丢包是不太可能的
      

  12.   

    要求数据的准确性建议用TCP,如果要求不是很高可以用UDP
      

  13.   

    UDP也就当广播之类的用用,如果是数据传输,还是TCP靠谱啊
      

  14.   

    为什么一有人说UDP出现丢包的情况就建议人家用TCP呢?UDP一直存在说明还是有存在的价值
      

  15.   

    UDP一般用在可以允许丢包的应用,如实时视频。如果应用不允许丢包,则最好使用TCP,或在UDP上自建重发机制,挺烦的,还不如直接用TCP。