我的 AutoIt 脚本应该接收发送到 239.255.250.250:9131
的 UDP 多播数据包.但它不起作用,我看不到指定 UDP multicast address 的选项对于 UDPBind()
.
UDPBind()
在下面的代码中返回 error 10049
(invalid address) :
UDPStartup()
UDPBind("239.255.250.250", 9131)
While 1
$msg = UDPRecv($recv, 512)
If $msg <> "" Then
ConsoleWrite($msg)
EndIf
Sleep(100)
WEnd
如何监听UDP多播包?
最佳答案
您不能绑定(bind)到多播地址。绑定(bind)是一个本地操作,它设置监听接口(interface)(在 Windows 上)和端口。
要接收多播,您需要:
绑定(bind)到您要接收多播的接口(interface)和端口的 IP 地址。在 Windows 上绑定(bind)到所选接口(interface)上的 IP 地址。在 Linux 上绑定(bind)到 0.0.0.0。
使用适当的机制加入多播组。
关于windows - 监听 UDP 多播数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41519048/