关于 boost beast websocket api : async_close, async_write
Posted
技术标签:
【中文标题】关于 boost beast websocket api : async_close, async_write【英文标题】:about boost beast websocket api : async_close, async_write 【发布时间】:2018-06-12 03:57:36 【问题描述】:我已经阅读了官方文档。我对文档本身冲突感到困惑。 以下是官方摘录的文件:
但是,这段代码格式正确:
ws.async_read(b, [](error_code, std::size_t));
ws.async_write(b.data(), [](error_code, std::size_t));
ws.async_ping(, );
ws.async_close(, );
这是另一个sn-p:
此操作通过对下一层的 async_write_some 函数的一次或多次调用来实现,称为组合操作。程序必须确保流不执行其他写入操作(例如 websocket::stream::async_write、websocket::stream::async_write_some 或 websocket::stream::async_close)。
那么,我应该信任哪一个?
【问题讨论】:
【参考方案1】:这部分是正确的:
https://www.boost.org/doc/libs/1_67_0/libs/beast/doc/html/beast/using_websocket/notes.html#beast.using_websocket.notes.thread_safety
其他文字需要更新。
【讨论】:
以上是关于关于 boost beast websocket api : async_close, async_write的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 boost beast websocket 客户端收听 websocket 提要?
如何正确写c++ boost beast websocket server
如何从另一个线程中断 websocket(使用 boost beast)?
Boost :: Beast Websocket双向流(C ++)