关于udp传输文件的问题? 我写了一个可靠udp传输类,测试时发现如果发送的太快接收端就容易收不到一些包,我设置10ms发送一个文件块,我后面设置成100就可以了,但这样的传输速度很慢!有其它办法吗?我用的是阻塞socket 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 UDP是不可靠,无连接传输层协议,所以丢包是很有可能的,即使设置100ms也无法保证不丢包。可以考虑TCP传输如果一定要UDP,可以考虑自己实现一个滑动窗口机制。 支持2楼的看法,先用 TCP 传输吧,简单点。 UDP是不可靠连接包的大小、发送频率、缓冲区设置都很关键建议去看一下TCP\IP卷中,对TCP、UDP发送、接收的描述 同楼上一起问你:你是如何实现UDP可靠的? 我是看了TCP的相关内容来实现的,加入慢启动和拥塞控制,超时重传等 阻塞socket改成非阻塞的试试。 你仔细看看TCP里的一些算法:慢启动,快速重传,滑动窗口,Nagle算法等。不知,你在LAN里测试,能到达什么样的发送速率?多少KBps? 我在lan里测试的是11mBps,我还在不断完善中。可以一起切磋一下。有一网友做的更好,基本上可以说是完美。比tcp要快多了。 要实现快速传输,首先要设法充分利用各种资源,主要是网络资源,尽量不让网络空闲;其次是要尽可能避免执行重复的操作。如果按照TCP的方式来实现“可靠UDP”,就跟TCP差不多了,不能体现出UDP的优势,还不如直接用TCP方便。 在局域网上下用udp传文件,做的好,要比tcp至少快一倍。特别是双向传输的时候。楼上如果想交流一下,可加我的msn.我已经在消息中告诉你我的msn. To LS:我一般不用私聊的方式交流,在帖子中回复就可以了。UDP是可以比TCP快,我上面回复的意思是建议LZ不要用UDP来模拟TCP。顺便提一下,用UDP要稍稍复杂一些,如果设计不好,也有可能不如TCP快,如果对速度要求不是很高,可以考虑用TCP多连接的方式来传输文件,速度方面感觉与UDP差距不大,可能需要CPU与内存资源要多一些。 to ls确实用udp模拟tcp比较复杂,而且效果不一定好。 可靠UDP是用来进行事务处理比如登陆、聊天等功能的。发送大量的数据比如文件还是用TCP好了。 我在lan里测试的是11mBps,我还在不断完善中。可以一起切磋一下。 有点慢,呵呵。 100Mbps的局域网最高理论速度也就是12.5MB/s。飞鸽传书速度为11.5MB/s左右,而且用的是TCP.用UDP能提升的空间很小啊。我用 Winsocket+TCP+单线程+同步 只能到10.5左右,郁闷了很久... 我用UDP主要是P2P,不然也不会用UDP。楼上!你也是可靠的UDP吗?能讲一下你的思路? wwwllg 你的速度达到11MB/s有用多线程传输吗?还是就一个线程发送? 楼主可以和我讨论一下,我正在研究这个,也在写这个算法。我的msn, [email protected] to ls已经加你了,你一般什么时候在线? CString转换UTF-8 ftp文件修改时间的问题 求一个xml文件和一个操作它的相关类! 文件安全传输的问题 想显示一组3位数字,不足3位的前面用0补齐,怎样实现? 如何将一个CPropertySheet嵌入到主Form中 邮件槽的问题(mailslot) 一个很菜的问题----我加了一个自定义的消息WM_USER+101,如果别的应用程序也定义了它,会不会冲突??? 寻找win32书籍 about vc++ 在windows系统中,监控文件操作,能不能获得每个操作的用户名和导致此文件变动的程序名 activex可能自定义消息吗
如果一定要UDP,可以考虑自己实现一个滑动窗口机制。
包的大小、发送频率、缓冲区设置都很关键
建议去看一下TCP\IP卷中,对TCP、UDP发送、接收的描述
不知,你在LAN里测试,能到达什么样的发送速率?多少KBps?
如果按照TCP的方式来实现“可靠UDP”,就跟TCP差不多了,不能体现出UDP的优势,还不如直接用TCP方便。
我已经在消息中告诉你我的msn.
我一般不用私聊的方式交流,在帖子中回复就可以了。
UDP是可以比TCP快,我上面回复的意思是建议LZ不要用UDP来模拟TCP。顺便提一下,用UDP要稍稍复杂一些,如果设计不好,也有可能不如TCP快,如果对速度要求不是很高,可以考虑用TCP多连接的方式来传输文件,速度方面感觉与UDP差距不大,可能需要CPU与内存资源要多一些。
确实用udp模拟tcp比较复杂,而且效果不一定好。
有点慢,呵呵。
用UDP能提升的空间很小啊。我用 Winsocket+TCP+单线程+同步 只能到10.5左右,郁闷了很久...
楼上!你也是可靠的UDP吗?能讲一下你的思路?
我的msn, [email protected]
已经加你了,你一般什么时候在线?