0

只是想知道是否有人可以指出一些简单的代码,它显示多线程 boost::tcp::socket 是多线程的,不能在父 IE 创建的同一个套接字上工作

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
}
4

1 回答 1

0

我找到了问题的根本原因是我没有意识到多个套接字可以使用 boost 绑定到同一个端口

acceptor->set_option( boost::asio::ip::tcp::acceptor::reuse_address( true ) );

这对我帮助很大。

于 2012-05-14T14:03:10.330 回答