sdc7 发表于 2011-11-14 12:30:04

UDPSend 发送的数据包大小有限制没 ,怎么更改?

本帖最后由 sdc7 于 2011-11-14 12:35 编辑

UDPSend 发送的数据包大小有限制没 ,怎么更改?
我测试这个发送的字符串大小是有限制的,但具体大小是多少不知道难道是65535?这个是不是缓冲区的大小 我实际测试是30KB左右以下的数据量都可以超过就报错10040

xms77 发表于 2011-11-14 21:59:05

你确定是发送语句出错二不是接受语句?应该不值这么小,只是UDPsend和UDPRecive速度很慢而已

drunk 发表于 2011-11-15 08:31:12

udp好像没限制把
tcp才有吧?

pusofalse 发表于 2011-11-15 09:33:47

本帖最后由 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]
查看完整版本: UDPSend 发送的数据包大小有限制没 ,怎么更改?