2
我想知道,如何确定使用asio库将组播数据包发送到组播组的机器的IP地址。现在我的来源是这样的:如何在asio中查找组播发送者地址?
std::string listen_addr4 = lpd_config.config.lpd_listen_host4();
std::string multicast_addr4 = lpd_config.config.lpd_multicast_host4();
short multicast_port = lpd_config.config.lpd_multicast_port();
asio::ip::udp::endpoint lpd_listen_endpoint4(asio::ip::address::from_string(listen_addr4), multicast_port); //TODO ipv6 support
asio::ip::udp::socket lpd_listen_socket4(lpd_io_service, lpd_listen_endpoint4.protocol()); //TODO ipv6 support
lpd_listen_socket4.set_option(asio::ip::udp::socket::reuse_address(true));
lpd_listen_socket4.bind(lpd_listen_endpoint4); //TODO ipv6 support
lpd_listen_socket4.set_option(asio::ip::multicast::join_group(asio::ip::address::from_string(multicast_addr4))); //TODO ipv6 support
接下来要做什么?
非常感谢!监听端点地址改变为发送者地址,这不太直观。 –