UDP多播 - 在一个进程中发送和接收

时间:2014-07-30 16:01:21

标签: c++ udp boost-asio ipv6 multicast

我有第三方服务。如果您通过udp multicast(ipv6)发送请求,此服务将发送答案。我想在每个支持ipv6的网络设备上发送请求。

我使用了boost和发送方和接收方示例(http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/example/multicast/)来发送请求并重新获得结果。我只更改了ip地址和请求字符串。

我通过wireshark跟踪数据,我的请求没有使用指定的端口(端口是随机的)。所以我的接收器无法从服务中获取数据。

我对udp和boost :: asio框架并不熟悉。也许有更好的方法来实现我的目标。

我的C ++代码如下:

asio::ip::address listenerAddress = asio::ip::address::from_string("my ipv6 address");
asio::ip::address multicastAddress = asio::ip::address::from_string("FF02::3");

asio::io_service io_service;

receiver r(io_service, listenerAddress, multicastAddress);
sender s(io_service, multicastAddress);

io_service.run();

0 个答案:

没有答案
相关问题