windows - 监听 UDP 多播数据包

标签 windows udp autoit multicast ssdp

我的 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/

相关文章:

python - 为什么我无法激活健身房表格

Windows批处理命令仅删除文件夹

autoit:inetget 和 inetread 之间有什么区别

windows - 如何隐藏windows程序并发送点击和填写表格?

AutoIt:激活并选择 ControlTreeView 中的元素上下文菜单

c# - 使用 C# 为 Windows 设置 ipv6

c - 应用程序登录纯 win32 项目

java - 为什么 Californium 在使用 CoAP 协议(protocol)发送数据时会在 65535 条记录后等待

java - 为什么这个 Java UDP 数据包长度太长?

C++ UDP 双向客户端/服务器传送