3

私は小さなコードを持っています

boost::asio::ip::tcp::no_delay option(true);
boost::asio::ip::tcp::socket* sock = new boost::asio::ip::tcp::socket(ios);
sock->set_option(option);
_session_acceptor.async_accept(*sock, 
                boost::bind(&server::playerAccept, this, sock, boost::asio::placeholders::error));

set_optionサーバーを受け入れる前にソケットを呼び出す場合は、接続を受け入れないでください。しかし、set_option接続が受け入れられた後に電話をかけると。魔法はありますか?

4

1 に答える 1

4

set_optionソケットではなく、アクセプターを呼び出す必要があります。私のプロジェクトの例:

 Listener::Listener(int port)
            : acceptor(io, ip::tcp::endpoint(ip::tcp::v4(), port))
            , socket(io) {
    boost::asio::ip::tcp::no_delay opt_nodelay(true);
    acceptor.set_option(opt_nodelay);
    start_accept();
于 2012-09-23T18:56:14.880 に答える