UDPSend 发送的数据包大小有限制没 ,怎么更改?
本帖最后由 sdc7 于 2011-11-14 12:35 编辑UDPSend 发送的数据包大小有限制没 ,怎么更改?
我测试这个发送的字符串大小是有限制的,但具体大小是多少不知道难道是65535?这个是不是缓冲区的大小 我实际测试是30KB左右以下的数据量都可以超过就报错10040 你确定是发送语句出错二不是接受语句?应该不值这么小,只是UDPsend和UDPRecive速度很慢而已 udp好像没限制把
tcp才有吧? 本帖最后由 pusofalse 于 2011-11-15 09:35 编辑
10040号错误表示 数据太长导致发送失败,或缓存区过小导致接收数据时失败。getsocketopt函数可以获取 基于消息的套接字所能支持的最大数据长度,这个值没法更改,只能在编程应用中多加判断。
UDPStartup()
$aSocket = UDPOpen(@IPAddress1, 33891)
$iResult = DllCall("Ws2_32.dll", "long", "getsockopt", "handle", $aSocket, "long", 0xFFFF, "long", 0x2003, "long*", 0, "long*", 4)
MsgBox(0, "Message-oriented Socket", "Maximum message size: " & $iResult)
页:
[1]