我正在研究使用 Boost::Beast websocket 库来创建异步双向管道以在服务器和客户端之间传递数据。我利用了异步示例中的一些代码(如果需要,我可以稍后发布一些代码,现在无法访问它)。我目前有一个类,它创建了几个运行 SocketListener 的线程。当客户端连接时,它会创建一个 Session shared_ptr 来执行异步读写功能。问题是,这个会话对象只会在客户端向我发送消息时写出来。我正在寻找一种实现,它允许我的服务器按需写入连接到它的所有客户端,并监听来自这些连接的传入数据。
这可能吗?我为此使用了错误的技术吗?我认为这可能实现的另一种方法是拥有一个传入的 websocket 和传出的 websocket。传入将允许客户端删除服务器的配置,传出将仅监视消息队列并在消息可用时执行异步写入。
谢谢!