首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

用Winsock控件传文件的速度怎样达到最佳化?该如何处理

2012-02-03 
用Winsock控件传文件的速度怎样达到最佳化?某种说法:比如两个人要互相传文件(50多MB的Rar),都是10Mbps的宽

用Winsock控件传文件的速度怎样达到最佳化?
某种说法:

比如两个人要互相传文件(50多MB的Rar),都是10Mbps的宽带,下行速度理论上可达到每秒1280KB,上传速度受电信部门的限制只有每秒128KB,这2个人互相Ping的时间都是100ms,如果要用VB6的WinSock控件传输,默认的WinSock发送缓冲区为8KB,每次只能发送8KB的数据,先发送8KB,100ms后对方接收到,再发送8KB,100ms后对方又接收到,这样每秒只可发送80KB的数据,并没有充分利用宽带的上传带宽。

请问他说的对吗?能否让每秒的上传速度尽量达到最高值(例如128KB)?不考虑用第三方的软件传输,只通过socket编程实现


[解决办法]
UDP是效率最高的了,如果用TCP,即便速度达到128KB,也不是实际传输的有效数据128KB。
参看TCP/IP协议栈
[解决办法]
汗,什么缓冲区啥的都不是这个层考虑的.

那是底层的事.

你在上层只需要不断扔数据下去就行了.

参考:

尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)
[解决办法]
设备的缓存是给自己用的,不影响外部调用。
你一餐能吃多少饭并不是由饭碗的大小决定的。
[解决办法]
临时映射网络驱动器,然后拷贝,恐怕就够快了。

热点排行