2012-04-26 95 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)); 

已經幫我綁定到同一端口很多。