发送端发送的速度快于接受端接受的速度,数据会丢失吗? 两种情况:1、TCP连接,传送视频文件。因为需要边接受边播放,所以接受端的recv可能慢于发送端的send,这样会使得接受端的socket的缓冲区溢出吗?以致丢失数据吗?2、UDP连接,传送大量的数据。情况同上。各位帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 udp肯定会,TCP不清楚,按理不会。 UDP有可能丢失,但是TCP不会,如果有一方速度比较慢,会吧整个速度给拉下来。不过采取UDP方式可以采用一定的防护措施,如一方接受到数据包之后,返回一个接收到数据包的确认信息包。 udp会,tcp有滑动窗口,不会。。 UDP可能丢,但是TCP肯定不会,但是速度会下来的。 tcp为什么不会,难道接受端的缓冲区满了时,发送端就不再发了,然后等待吗? tcp有报文抑制机制,当接收方速度较低时会发送报文通知发送方降低发送速度 “不过采取UDP方式可以采用一定的防护措施,如一方接受到数据包之后,返回一个接收到数据包的确认信息包。”如果我采用多播,服务器是不是要判断多播组中的所有用户是否都返回了确认数据包,才开始发下一个包,这样会不会大大降低速度? udp:假如要实时发送n张jpeg图像,对于每张jpeg,先发送一个长度,再循环发送数据;然后再这样发送下一张jpeg。接收端先接受一个长度,然后按这个长度接收数据;然后在接受一个长度。以上这种方式会出问题吗 :会不会因为接收端慢了,当接收端企图去接受一个长度时,长度数据已经丢失,而接收到了数据呢? UDP加上计数和重传。TFTP和一些ICQ就是这样做的。缓冲区一定要大点。 TCP不会丢失,但UDP肯定会,传输视频数据的话完全可以用多播,即使出现有些机子数据丢失也无所谓,反正是边收边播,丢失几帧也无所谓,当然失帧太多也是不行的,一般通过网上传输的视频数据都会要求client短的机子的最低配置。 关于视频数据流的传输,根本就不要使用TCP方式,时间长了多半都会出问题,就使用UDP,丢些数据视频一样的播放。另外如果接收方播放的时候要不断的检查缓冲区数据量,一般来说要维持在一定的数量上,如果数据越来越多,就调节播放的位置,向前跳上几帧。呵呵,如果越来越少的话,可不要向后跳,检查一下发送方吧。 怎样获取edit每次启动后的句柄 关于傅立叶算法的问题 大虾们。求救~~~ 如何把编辑框的值传递给另一个对话框在LIST中显示出来 调试的时候如何跟踪到CView::OnFilePrint() 学习vc的困惑 请问FTP的命令和应答都是以\r\n结束的吗? 急,俺同学明天要交的作业,我会给高分的(用windows c的) 关于对话框最大化,怎么把静态文本按比例缩放 多个虚拟机下抓包的问题 有谁知道PID和TID指的是什么 哪里可以找到FAX Service provider API的例子 多文档如何实现彻底全屏?
不过采取UDP方式可以采用一定的防护措施,如一方接受到数据包之后,返回一个接收到数据包的确认信息包。
TFTP和一些ICQ就是这样做的。
缓冲区一定要大点。
另外如果接收方播放的时候要不断的检查缓冲区数据量,一般来说要维持在一定的数量上,如果数据越来越多,就调节播放的位置,向前跳上几帧。呵呵,如果越来越少的话,可不要向后跳,检查一下发送方吧。