我已经在Windows10下开发了一个简单的应用程序,它可以侦听给定端口上的UDP数据报,然后将数据报路由到使用相同端口的组播组(例如:绑定到端口0.0.0.0:5202并发送到组播组224.0.0.100:5202)。这是必需的,因为最初以多播方式发送的数据源可能连接到不支持多播的网络。该应用程序使单播通信适应于多播。为了避免更改多播接收方并最小化发送方的更改,我们决定保留端口不变(包括源和最终目的地)。
问题是,一旦启动适配器应用程序,在同一主机上运行的多播接收者就无法绑定到多播组。我正在使用boost asio库来让应用程序在Windows10和Linux目标下运行。
我设置了重用地址套接字选项,但是客户端在任何情况下都无法绑定。有什么想法吗?或者这个东西不能在Windows10下工作?
发布于 2021-08-08 17:59:52
组播接收方应用程序能否侦听环回接口127.0.0.1?如果是这样,您的适配器可以侦听物理接口(而不是0.0.0.0),获取UDP数据,然后通过接口127.0.0.1重新发送到224.0.0.100:5202。
https://stackoverflow.com/questions/68068502
复制相似问题