两种情况:
1、TCP连接,传送视频文件。因为需要边接受边播放,所以接受端的recv可能慢于发送端的send,这样会使得接受端的socket的缓冲区溢出吗?以致丢失数据吗?
2、UDP连接,传送大量的数据。情况同上。
各位帮忙!

解决方案 »

  1.   

    udp肯定会,TCP不清楚,按理不会。
      

  2.   

    UDP有可能丢失,但是TCP不会,如果有一方速度比较慢,会吧整个速度给拉下来。
    不过采取UDP方式可以采用一定的防护措施,如一方接受到数据包之后,返回一个接收到数据包的确认信息包。
      

  3.   

    udp会,tcp有滑动窗口,不会。。
      

  4.   

    UDP可能丢,但是TCP肯定不会,但是速度会下来的。
      

  5.   

    tcp为什么不会,难道接受端的缓冲区满了时,发送端就不再发了,然后等待吗?
      

  6.   

    tcp有报文抑制机制,当接收方速度较低时会发送报文通知发送方降低发送速度
      

  7.   

    “不过采取UDP方式可以采用一定的防护措施,如一方接受到数据包之后,返回一个接收到数据包的确认信息包。”如果我采用多播,服务器是不是要判断多播组中的所有用户是否都返回了确认数据包,才开始发下一个包,这样会不会大大降低速度?
      

  8.   

    udp:假如要实时发送n张jpeg图像,对于每张jpeg,先发送一个长度,再循环发送数据;然后再这样发送下一张jpeg。接收端先接受一个长度,然后按这个长度接收数据;然后在接受一个长度。以上这种方式会出问题吗 :会不会因为接收端慢了,当接收端企图去接受一个长度时,长度数据已经丢失,而接收到了数据呢?
      

  9.   

    UDP加上计数和重传。
    TFTP和一些ICQ就是这样做的。
    缓冲区一定要大点。
      

  10.   

    TCP不会丢失,但UDP肯定会,传输视频数据的话完全可以用多播,即使出现有些机子数据丢失也无所谓,反正是边收边播,丢失几帧也无所谓,当然失帧太多也是不行的,一般通过网上传输的视频数据都会要求client短的机子的最低配置。
      

  11.   

    关于视频数据流的传输,根本就不要使用TCP方式,时间长了多半都会出问题,就使用UDP,丢些数据视频一样的播放。
    另外如果接收方播放的时候要不断的检查缓冲区数据量,一般来说要维持在一定的数量上,如果数据越来越多,就调节播放的位置,向前跳上几帧。呵呵,如果越来越少的话,可不要向后跳,检查一下发送方吧。