boost asio socket 端口复用

时间:2022-08-12 20:01:01
1. 在boost的acceptor类说明中有这样的一个例子。用 set_option设置端口是否可复用。
boost::asio::ip::tcp::acceptor acceptor(io_service); 
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), port); 
acceptor.open(endpoint.protocol()); 
acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); 
acceptor.bind(endpoint); 
acceptor.listen();

    2.还有一种方法 就是在 acceptor的构造函数,下面是acceptor的构造函数,我们看到,第三个参数名reuse_addr 。默认是可以端口复用的,要设置是否复用,也可以通过该处传参。
  basic_socket_acceptor(boost::asio::io_service& io_service,const endpoint_type& endpoint, bool reuse_addr = true)