关于 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 ++)

Boost Beast websocket 服务器异步接受失败,缓冲区溢出

Boost Beast 将带有字节数组的 json 发送到客户端抛出 websocket