我公正一下:winsock最大一次发送8K字节
看了以前的帖子,有人信誓旦旦的说是4k
如果你反对,可以测试一下,一次发送一个几百k的文件,实时监视已经传输的字节数,你会发现,sock自动分多次发送,但是每次最多8192字节就是8k,最大绝对不会超过这个数值。
网络情况差时,就会少于这个数字,随机的。
问题点数:20、回复次数:19Top
1 楼mosangbike(莫桑比克)回复于 2003-12-01 11:49:02 得分 0
所以你要传输文件就最好每次按照8k分割发送
但是一旦网络环境差,你就应该减少这个包的大小,这就需要一个握手来动态修改传递包的大小,也可以事先写一段测速代码,
使用一问多大机制或者tcp/ip协议的窗口技术也可以提高发送速度
以上是我的经验,初来乍到请多加分Top
2 楼webmote(从○开始)回复于 2003-12-01 16:39:39 得分 0
我记得上次测过UDP传输的报长度,好像是最大是64K的?不知道楼主指的是不是不包括UDP传输?Top
3 楼mosangbike(莫桑比克)回复于 2003-12-01 19:00:01 得分 0
非也,我指的仅是tcp协议Top
4 楼tuyueje(无聊ing)回复于 2003-12-01 19:54:06 得分 0
这个问题我也试过,是8K。
Top
5 楼Neoking(尼奥)回复于 2003-12-01 21:42:26 得分 0
顶,收获不少!我也想学习Winsock以后请大家多帮忙了!!Top
6 楼webmote(从○开始)回复于 2003-12-02 08:44:48 得分 0
赫赫,但最优的传输字节确是4K。Top
7 楼kmzs(.:RNPA:.山水岿濛)回复于 2003-12-02 09:00:51 得分 0
这个问题没有争论的意义,8K就8K嘛Top
8 楼imur()回复于 2003-12-02 20:59:20 得分 0
upTop
9 楼bigspook(开心就好)回复于 2003-12-03 12:43:58 得分 0
upTop
10 楼S.F.(chinasf.cnblogs.com)回复于 2003-12-03 15:29:01 得分 0
4K 啊,楼主Top
11 楼buffaloes(牛然一生)回复于 2003-12-03 17:16:04 得分 0
呵呵,楼主只知其一也。(申明:我可能就是楼主说的那位“信誓旦旦”4k者)
4k---Unicode编码
8K---Ansi编码
当然:4k的Unicode编码数据=8K的Ansi编码数据
所以大家都没有错,只是没有说明Top
12 楼Tiger0305(风)回复于 2003-12-05 13:40:04 得分 0
当传进 UNICODE 字符串并在网络上发送出去之前,将转化成 ANSI 字符串Top
13 楼flc(▄︻┻┳═一)回复于 2003-12-17 17:05:53 得分 0
学习Top
14 楼csh_80(松华)回复于 2003-12-20 08:56:33 得分 0
在局或网内没有经过路由器最多可到8K,在广或网最多只能在1500以下,关键是看网络的MTU值到多少。Top
15 楼cuzz(cuzz)回复于 2003-12-20 21:59:58 得分 0
UP.
建议大家都去看一看关于TCP/IP的知识,而不是只在这里讨论VB。Top
16 楼FUNDGIRL(阿弥陀佛(别抢我分,谢谢))回复于 2003-12-29 02:11:46 得分 0
什么UNICOD和ANSI,难道大家都以STRING传输?晕
自己转成BYTE数组.
受TCP/IP协议原理影响,TCP缓冲池最大为8K.WINSOCK控件可以自动把超过8K的东西截成8K发送
但使用SOCKT API就不这么方便了.Top
17 楼kmzs(.:RNPA:.山水岿濛)回复于 2003-12-29 07:30:28 得分 20
有趣有趣,MSDN怎么说〉?Top
18 楼dagoo(一只呆狗)回复于 2003-12-30 00:01:43 得分 0
不是1k嘛..天啊.!!Top
19 楼kmzs(.:RNPA:.山水岿濛)回复于 2003-12-30 07:40:13 得分 0
可能吧Top




