gpt4 book ai didi

c++ - Boost::Beast Websocket 双向流 (C++)

转载 作者:行者123 更新时间:2023-11-30 03:22:43 29 4
gpt4 key购买 nike

我正在研究使用 Boost::Beast websocket 库来创建异步双向管道以在服务器和客户端之间传递数据。我利用了异步示例中的一些代码(如有必要,我可以稍后发布一些代码,现在无法访问它)。我目前有一个类创建多个运行 SocketListener 的线程。当客户端连接时,它会创建一个 Session shared_ptr 来执行异步读写功能。问题是,这个 session 对象只会在客户端向我发送消息时写出。我正在寻找一种实现,允许我的服务器按需写入​​所有连接到它的客户端,并监听来自这些连接的传入数据。

这可能吗?我为此使用了错误的技术吗?我认为这可能是可以实现的另一种方法是有一个传入的 websocket 和传出的 websocket。传入将允许客户端删除服务器的配置,而传出将仅监视消息队列并在消息可用时执行异步写入。

谢谢!

最佳答案

Is this possible?

Am I using the wrong technique for this?

没有

The other way I though this may be achievable is to have an incoming websocket and and outgoing websocket, and No respectively.

这不是必需的,websocket 流是全双工的。您可以同时阅读和写作。

outgoing would just monitor a message queue and do a async write if a message is available.

这是正确的方法,但您可以在处理读取的同一个 Session 对象中执行此操作。

下面是一个连续读取也可以全双工写入的例子:https://github.com/vinniefalco/CppCon2018

关于c++ - Boost::Beast Websocket 双向流 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50930830/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com