用boost :: asio :: async_read替换boost :: asio :: async_read_some

时间:2019-04-02 11:16:44

标签: c++ boost-asio

我正在使用echo服务器boost所提供的代码示例来尝试与我的一个客户端进行交互。 但是,当我尝试将boost::asio::async_read_some替换为boost::asio::async_read时,我注意到只有在连接被终止时才会调用后者,而从以下任何一个发送消息时都会调用read_some。我的客户。我在做什么错了?

这是原始代码 https://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp

我用以下内容替换了do_read()的内容:

void do_read()
{

    auto self = shared_from_this();

boost::asio::async_read(socket_, data_, [this, self](boost::system::error_code ec, size_t l) {
        if (!ec)
           do_write(l);
        });
}

0 个答案:

没有答案
相关问题