只是想知道是否有人可以指出一些简单的代码,它显示多线程boost :: tcp :: socket,它是多线程的,不能在父I.E创建的同一个套接字上工作。
while (TRUE){
create server
create shared_ptr io_service
create shared_ptr socket
create acceptor
create endpoint
bind to ip and port
listen
accept(bind etc)
create thread pool with function passing the ONE socket
//do work in thread close the socket
}
答案 0 :(得分:0)
我发现问题的根本原因是我没有意识到多个套接字可以使用boost绑定到同一个端口
acceptor->set_option( boost::asio::ip::tcp::acceptor::reuse_address( true ) );
这对我帮助很大。