找回密码
 加入
搜索
查看: 2077|回复: 3

[网络通信] UDPSend 发送的数据包大小有限制没 ,怎么更改?

[复制链接]
发表于 2011-11-14 12:30:04 | 显示全部楼层 |阅读模式
本帖最后由 sdc7 于 2011-11-14 12:35 编辑

UDPSend 发送的数据包大小有限制没 ,怎么更改?
我测试这个发送的字符串大小是有限制的,但具体大小是多少不知道难道是65535?  这个是不是缓冲区的大小 我实际测试是30KB左右以下的数据量都可以超过就报错10040
发表于 2011-11-14 21:59:05 | 显示全部楼层
你确定是发送语句出错二不是接受语句?应该不值这么小,只是UDPsend和UDPRecive速度很慢而已
发表于 2011-11-15 08:31:12 | 显示全部楼层
udp好像没限制把
tcp才有吧?
发表于 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[1], "long", 0xFFFF, "long", 0x2003, "long*", 0, "long*", 4)

MsgBox(0, "Message-oriented Socket", "Maximum message size: " & $iResult[4])
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-17 10:18 , Processed in 0.078450 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表