2012-04-26 188 views
0

只是想知道是否有人可以指出我的一些简单的代码,它显示了多线程boost :: tcp :: socket,它是多线程的,不能在父母I.E.Boost螺纹插座

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 
} 
+1

Boost Asio是多线程的。你只需要在多个线程中运行'io_service :: run()'。 – 2012-04-26 13:55:50

+0

看看boost :: asio示例http://www.boost.org/doc/libs/1_49_0/doc/html/boost_asio/examples.html – mark 2012-04-26 16:40:17

+0

我看过他们,他们都使用相同的套接字。我希望它在多个线程中使用多个套接字你知道一个具体的例子,其中boost使用多个套接字吗? – gda2004 2012-04-30 14:42:18

回答

0

我发现我的问题的根本原因,这是事实,我没有意识到的是,不止一个插座可以使用boost

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

已经帮我绑定到同一端口很多。