看了以前的帖子,有人信誓旦旦的说是4k
如果你反对,可以测试一下,一次发送一个几百k的文件,实时监视已经传输的字节数,你会发现,sock自动分多次发送,但是每次最多8192字节就是8k,最大绝对不会超过这个数值。
网络情况差时,就会少于这个数字,随机的。
如果你反对,可以测试一下,一次发送一个几百k的文件,实时监视已经传输的字节数,你会发现,sock自动分多次发送,但是每次最多8192字节就是8k,最大绝对不会超过这个数值。
网络情况差时,就会少于这个数字,随机的。
但是一旦网络环境差,你就应该减少这个包的大小,这就需要一个握手来动态修改传递包的大小,也可以事先写一段测速代码,
使用一问多大机制或者tcp/ip协议的窗口技术也可以提高发送速度
以上是我的经验,初来乍到请多加分
8K---Ansi编码当然:4k的Unicode编码数据=8K的Ansi编码数据所以大家都没有错,只是没有说明
受TCP/IP协议原理影响,TCP缓冲池最大为8K.WINSOCK控件可以自动把超过8K的东西截成8K发送但使用SOCKT API就不这么方便了.