【发布时间】:2011-05-20 20:23:41
【问题描述】:
我有一个通过 UDP 广播发送数据的客户端。 (比如说 127.0.0.255:12345)
现在我想让多个服务器监听这些数据。要在本地机器上这样做,他们需要共享端口 12345 进行监听。
我的问题是,如果可能的话,是否有任何缺点,以及这种方法是否存在问题。
不幸的是,有一种替代方法会带来很多开销:
实施某种注册过程。在启动时,每个服务器都会告诉客户端它的端口。然后客户端将消息发送到每个端口(必须多次发送数据,需要实现某种握手......)
你知道更好的选择吗?
如果这很重要:
我将 C++ 与 Boost::Asio 一起使用。软件应该是可移植的(主要是 Linux 和 Windows)。
【问题讨论】:
-
我尝试使用 boost::asio::udp::socket
set_option(udp::socket::reuse_address(true));中的以下方法但没有成功...几乎没有关于此的文档,有人有提示吗关于那个?
标签: networking network-programming udp