在Linux系统上重用地址

时间:2015-11-10 03:24:42

标签: c++ linux sockets boost boost-asio

我有一个在Windows和MacOSX上运行良好的程序,但遇到Linux上的address already used问题(Fedora 23,具体而言)。问题是我试图在同一个端口上构建两个boost::asio::ip::tcp::acceptor对象,一个用于IPv4,一个用于IPv6。使用的构造函数的签名如下(参见here):

basic_socket_acceptor(
    boost::asio::io_service & io_service,
    const endpoint_type & endpoint,
    bool reuse_addr = true);

请注意reuse_addr参数。我希望它能够专门解决address already used问题。唉,它在Linux上不起作用。有什么解释吗?

0 个答案:

没有答案