itljl 发表于 2010-2-5 19:32:53

大家有没有注意AU3TCP接收数据,每次只能是62KB样子

大家可以随便在论坛测试一个TCP传送文件的函数。
做个小试验
首先:
将发送端循环内改为
$fdata = FileRead($File, 1024 * 1024 * 10) ;每次读取字节:1024 * 1024 * 10
$i += 1 ;统计发送次数
TrayTip("发送文件次数" & $i,当前发送, 3) ;显示发送次数

客户端循环内改为
sleep(500);每次接收延时 500毫秒,为了看得更清楚
$i += 1
$sBuff = TCPRecv($ConnectedSocket, 1024 * 1024 * 10, 1)每次接收字节: 1024 * 1024 * 10
$Cur_size = Binarylen($sBuff) / 1024
TrayTip("循环此数:" &$i, "当前接收大小:" & $Cur_size, 3)

-------------
大家会发现问题为 客户端每一次将数据 1024 * 1024 * 10 发送完成。就会等待客户端接收完成。

而客户端每一次只会接收 62KB左右的数据。TCPRecv 函数的说明是可以设置每次接收字节大小的,但这里设置为 1024 * 1024 * 10 或者其它都没用,每次都是是返回 62KB左右。

测试环境为内网KM。

大家有没有同样的问题?

dreamgg 发表于 2010-2-5 20:11:31

会不会跟网卡设置有关?一次64KB数据

itljl 发表于 2010-2-5 20:32:42

回复 2# dreamgg

应该不是网卡的设置,难道是TCP分段64KB?那TCPRecv指定接收大小的意义何在?
这也涉及到我们的发送的数据重组的问题
页: [1]
查看完整版本: 大家有没有注意AU3TCP接收数据,每次只能是62KB样子