增强所有(或多个)端口上的 Asio UDP 侦听

Boost Asio UDP listening on all (or several) ports

本文关键字:Asio 侦听 UDP 增强      更新时间:2023-10-16
是否有

可能有一个同时侦听多个端口上的消息的提升asio udp客户端?或者只是侦听来自任何端口的消息?

对于背景(并且因为我是网络新手并且可能没有选择最佳方法来执行此操作),本质上我的问题是我有一个主节点在集群中的其他几个节点上启动进程。当每个子节点完成其进程时,它将将其结果发送到另一个正在等待结果的节点。 我认为最简单的方法是简单地从每个子节点进行UDP广播,每个子节点在唯一的端口上广播,侦听器在所有端口上侦听。 有没有更好的方法可以做到这一点?

如果 UDP 套接字必须接收发往该端口的传入消息,则需要绑定到该端口。如果要侦听多个端口,则必须打开多个UDP套接字并将它们绑定到所有这些端口。绑定方法接受您希望接收消息的端口号:http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio/reference/basic_datagram_socket/bind/overload1.html