问题标签 [boost-beast-websocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
157 浏览

boost - 有没有办法订阅和收听 boost beast websocket 中的提要?

我正在使用来自boost beast 文档的示例用于异步 websocket 客户端。发送一些命令来订阅然后收听提要,直到它被手动终止(最好使用其他功能或其他)

不应用标准示例,因为它要么没有响应,要么没有提供永久提要。

需要访问 Poloniex Websocket API 作为参考。

有没有永久收听饲料的例子?

0 投票
0 回答
13 浏览

boost-beast - 在 boost::beast 中获取客户端端口

我们如何提取连接到网络服务器的客户端端口。我已经研究了野兽的例子,但找不到相关的例子。请指点我的例子。

0 投票
1 回答
157 浏览

c++ - boost-beast 中的异常

我使用 Boost::Beast 并且我收到了一些异常消息,例如:解决:没有这样的主机是已知的。我想在我的代码中打印更重要的 i 消息,让一个简单的用户了解这条消息的含义。我怎么能这样做?

那是我第一次选择使用的例子,但你不适合我

0 投票
1 回答
412 浏览

c++ - 如何获取 beast::flat_buffer 中的数据?

我正在使用 boost/beast 库连接到 websocket,并将数据写入beast::flat_buffer. 我的问题是我无法从buffer. 我有一个可以写入的线程安全channel对象,但我不确定如何从buffer.

我可以用 写信给频道channel.write(std::string arg)。关于如何从中拉出的任何想法buffer

0 投票
2 回答
229 浏览

c++ - Boost::beast::ssl_stream 无法尊重共享指针,需要将 ssl_stream 转换为 websocket::stream

我正在尝试编写一个 https flex 服务器,它可以根据升级请求升级到 websocket。https 类进行 ssl 握手std::shared_ptr<boost::beast::ssl_stream<boost::beast::tcp_stream>> m_ptls_stream

现在我需要将此流传输到 websocket 类并将其转换为类型

但是由于某种原因,websocket 流的构造函数不接受共享指针,并且我无法取消引用 ssl_stream shared_ptr,因为我得到了复制构造函数被删除的错误

严重性代码描述项目文件行抑制状态错误 C2280 'boost::beast::ssl_streamboost::beast::tcp_stream::ssl_stream(const boost::beast::ssl_streamboost::beast::tcp_stream &)':试图引用一个删除功能 D:\Work\remote_pc\out\build\x64-Debug\remote_pc D:\Work\boost_1_73_0\boost\asio\impl\executor.hpp 218

感觉就像我错过了一些东西,几天都无法弄清楚。请帮忙..!!

另外,如果我这样做

套接字抛出错误:当我在创建它后对流执行 async_accept() 时未初始化。

0 投票
0 回答
38 浏览

c++ - 对 boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) 的未定义引用

我正在使用 boost 进行 TCP SSL 连接 websocket 连接。我正在使用 scons 为基于 linux 的支付终端进行交叉编译。我没有构建 boost,因为 asio 是基于标头的内联库(如 boost 门户中所述),如果我错了,请纠正我。但是我在 boost/asio/ssl/context.hpp 中看不到内联函数

我收到错误“对 boost::asio::ssl::context::context(boost::asio::ssl::context_base::method) 的未定义引用未定义对 `boost::asio::ssl::context 的引用::~上下文()'

如果我包含了必需的标头,为什么 scons 会给出错误未定义的参考?我们真的需要为使用 asio,boost beast 构建 boost 吗?

0 投票
2 回答
67 浏览

openssl - 客户端打招呼后的RST

Boost Beast TLS 客户端(主要基于)未连接到 Microsoft Azure azurewebsites 托管的 Web 应用程序。查看 Wireshark 输出,在客户端发送 Client hello 消息后,服务器似乎正在发送 RST,该消息详细说明了可用的密码。客户端与其他 websocket 服务器一起工作,运行 Java Jetty 和让我们加密证书。

默认情况下, firefox 在连接到域时使用的首选密码出现TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384在主机上的密码列表和客户端在客户端问候消息中发送的数据包中。

我尝试了其他方法,例如禁用客户端证书身份验证,这在过去已经解决了其他证书问题。我已经能够使用 openssl 库和 native_handle 修改密码套件。但这并没有解决问题,我发现了一个堆栈溢出问题,答案表明密码存在兼容性问题。

在客户端打招呼后谷歌搜索 RST 消息,似乎主要返回与 IIS 和 Windows 服务器有关的问题。

有谁知道这可能是什么?

0 投票
0 回答
28 浏览

c++ - Boost 兽读:WebSocket 控制帧被碎片化

当我尝试来自: advanced_server 示例的代码时, 我在这里收到以下错误:

read: The WebSocket control frame was fragmented

Poco客户端正在使用框架发送 ping 控制消息。有效载荷的长度为零。

可能是什么问题?

0 投票
1 回答
18 浏览

c++ - boost async ws 服务器检查客户端信息

如何从 boost 异步 Web 套接字服务器检查客户端信息作为用户代理?

我已经检查过: https ://www.boost.org/doc/libs/develop/libs/beast/example/websocket/server/async/websocket_server_async.cpp

这是我唯一的参考。

0 投票
0 回答
11 浏览

c++ - 关闭 websocket 并释放文件描述符的最快方法

我正在使用 boost beast 建立 websocket 连接,我的一个进程可能有大量的流/连接,并且在终止进程时,我正在使用以下方法调用析构函数中每个 websocket 的阻塞关闭:

拥有大量的 websocket,会使终止进程长时间阻塞,有没有办法强制终止(删除)连接并更快地释放底层资源?提前致谢。