0

親IEによって作成された同じソケットでは機能しないマルチスレッドboost::tcp::socketを示す簡単なコードを誰かが私に指摘できるかどうか疑問に思いました

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

私の問題の根本的な原因は、ブーストを使用して複数のソケットが同じポートにバインドできることに気づかなかったという事実でした。

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

それは私を大いに助けてくれました。

于 2012-05-14T14:03:10.330 に答える