找回密码  加入

AUTOIT CN

搜索
查看: 154|回复: 1

[系统综合] 求 UDPOpen 反回的$Socket如何保存到数组里 他反回的就是数组

[复制链接]
发表于 2019-1-29 16:42:15 | 显示全部楼层 |阅读模式
For $i=1 To 10 Step +1
$Socket&$i = UDPOpen($dest_IP, 161)
UDPSend($Socket&$i,_SNMPBuildPacket("1.3.6.1.2.1.1.3.0", 'public', 2, 1, "A0")
Next
上面代码只能表达需求,跑不动。  我需要一次联接多个IP发送数据 再统一反回结果  (单IP 循环周期太长了,数据较多。)
但UDPOpen 反回的$Socket是数组  不像TCPOpen反回的是变量。
大老们有没有好办法可以把UDPOpen反回的$Socket放进数组里  (多维数组 ?)

发表于 2019-1-30 10:23:22 | 显示全部楼层
之前研究P2P打洞时,发现AU3的UDP有个有意思的问题,他可以直接UDPSEND给对方,但是端口又是随机的,UDPBIND可以指定端口,但是又不能UDPSEND给对方,其实奥秘都在你说的这个数组里边。
重要的只是$aArray[1] 真实的套接字  $aArray[2] $aArray[3]是IP和端口,可以修改的。用UDPBind生成的套接字可以指定源端口,UDPSend是随机端口,可以避免端口被占用的情况。这两种都是可以被UDPSend和UDPRecv调用的。

  1. TCPStartup()
  2. $socket = UDPBind("0.0.0.0", 8899)
  3. For $i = 1 To 254
  4.         $socket[2] = "192.168.110."&$i
  5.         $socket[3] = 8888
  6.         UDPSend($socket, "test")
  7. Next
  8. UDPCloseSocket($socket)
  9. TCPShutdown()
复制代码
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2019-2-23 04:07 , Processed in 0.083523 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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