[讨论]如何提高网络传输的效率?(TCP)
之前做了一个多线程传输文件的程序,基于TCP连接的.
现在想和大家讨论下,怎样做可以提高网络传输的效率呢?
注:不局限于局域网.
问题点数:50、回复次数:14Top
1 楼xiaoxuanfengasdf()回复于 2006-12-01 17:35:35 得分 1
传输数据最好用udp 传输控制指令用tcpTop
2 楼roc_zhang(好好学习)回复于 2006-12-01 18:03:51 得分 0
to xiaoxuanfengasdf
UDP会有丢包吧?不是很安全的说Top
3 楼vcnewer(磨剑)回复于 2006-12-01 18:06:34 得分 0
gzTop
4 楼icebluenet(冰蓝泠)回复于 2006-12-01 18:55:46 得分 5
传输后应该有一个简单的校验,所以udp在文件传输中还是比较可靠的。Top
5 楼Juchiyufei(三更半夜我送你回家.总统也许我做不到.今生难得的遇见你,我们就应该在一起.....)回复于 2006-12-02 01:30:39 得分 0
蹭点分,顺便给你顶一下.Top
6 楼chary8088(天使鱼儿)回复于 2006-12-02 10:59:44 得分 0
传输后应该有一个简单的校验,所以udp在文件传输中还是比较可靠的。
校验怎么说???Top
7 楼LiChenYue(卐)(李忱悦)(怎堪蔑拒?鳄泪横流㊣暗恋未遂!独孤求偶)(卐)回复于 2006-12-02 22:46:54 得分 0
路过Top
8 楼ProgrameMan(我要学汇编)回复于 2006-12-03 18:42:26 得分 22
如果使用 TCP的话
1. 采用高效的网络模型 例如: 完成端口、重叠IO
2. 采用文件缓存策略
3. 如果可能,文件的读写使用异步的,可以配合完成端口或者重叠IOTop
9 楼xu_yuanjie()回复于 2006-12-03 21:39:36 得分 0
markTop
10 楼roc_zhang(好好学习)回复于 2006-12-04 10:22:05 得分 0
to chary8088(天使鱼儿)
校验应该是指send端发送了多少字节,以及奇偶校验之类的验证位.
不知我理解的对不? icebluenet(冰蓝泠)
to ProgrameMan(我要学汇编)
我会去查查你说的方法,谢谢你的建议.
我个人也偏重TCP方式.可能是比较简单吧
另:使用UDP会比TCP更有效率吗?为什么?Top
11 楼ProgrameMan(我要学汇编)回复于 2006-12-04 11:37:54 得分 0
tcp 简单是表面现象,可不要轻易的说tcp简单,以前我也使这么认为,在做过几个tcp程序后发现,tcp作起来容易,做好还是不容易的 呵呵Top
12 楼roc_zhang(好好学习)回复于 2006-12-07 11:49:42 得分 0
谢谢ProgrameMan(我要学汇编)
我看了一下,好象完成端口只能在NT上做,重叠IO可行性比较大Top
13 楼benjiam(今晚打老虎)回复于 2006-12-07 16:52:34 得分 22
真正高级的系统调教 IBM 上面有一篇非常好
http://www-128.ibm.com/developerworks/cn/linux/l-hisock.html
不过内容似乎要求对IP栈有比较深刻的理解Top
14 楼roc_zhang(好好学习)回复于 2006-12-07 17:17:27 得分 0
to benjiam(今晚打老虎)
谢谢,收藏了Top





