我的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组播数据包?
答案 0 :(得分:1)
您不得绑定到多播地址。 Bind是本地操作,用于设置侦听界面(在Windows上)和端口。
要接收多播,您需要:
绑定到要在其上接收mutlicast的接口和端口的IP地址。在Windows上,绑定到所选接口上的IP地址。在Linux上,绑定到0.0.0.0。
使用适当的机制加入多播组。