【问题标题】:Boost asio asynchronous read and then writeBoost asio异步读写
【发布时间】:2016-04-14 09:19:42
【问题描述】:

在我的套接字通信中,我有一个服务器,在每个连接处我想先读取数据,在我完成读取后,我想写一个响应。但是我想异步执行,所以我可以处理许多传入的连接。 async_readasync_write 的问题在于,它们显然是异步的,当我开始读取时,写入操作也立即开始。

所以基本上我的问题是:

如何从套接字开始读取,然后中断读取(当我通过通信协议确定所有数据都已发送时)并然后开始写入并最终关闭套接字?

【问题讨论】:

  • 您应该查看 Boost.Asio 文档中提供的examples;你的问题在那里。抱歉,我无法为您指出确切的文件,我已经有一段时间没有使用 Boost.Asio。
  • 投票关闭,因为范围太广。事实上,这类问题有很多可能的答案,图书馆的例子展示了所有答案。

标签: c++ sockets asynchronous boost boost-asio


【解决方案1】:

关于您问题的第二部分,例如查看link

async_read 函数具有参数CompletionCondition completion_conditionReadHandler handler。这些是回调。如果您确定已阅读所需的所有内容,则完成条件应返回 0。完成阅读后,将调用 handler 回调。您可以从handler 拨打async_write

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多