boost-beast相关内容

使用Boost Beast通过代理发出同步http请求时出现问题

我修改了http_sync示例以通过代理连接,我使用Wireshark进行了测试,问题是在我发送http连接请求后,代理返回代码200 OK,而我的程序无法读取它,它在等待http::Read大约1分钟后就断开了与服务器的连接。 我试着绕过这一点,只是没有读取响应,但当我尝试进行SSL握手时,我得到了一个错误:未知协议(就Wireshark显示的情况而言,我的SSL握手会发送客户端问候,然后我会收 ..
发布时间:2022-08-11 15:50:06 C/C++开发

如何使用Boost协程等待变量的更改?

上下文 我使用Boost Coroutine、Boost ASIO和Boost Beast构建了一个Web服务器。 有一个用于阅读的协奏表和一个用于写作的协奏表。 有一个Message_to_Send队列,消息被推送到该队列中发送给用户。 编写协程检查Message_to_Send队列中是否有内容并将其发送。 发送写入后,协程挂起自身100毫秒,然后再次检查要写入的内容。 问题 写入协程 ..
发布时间:2022-04-09 15:25:48 其他开发

如何在Beast中保持此HTTPS连接?

我对GraphQL服务器进行了大约30,000个查询;因为我有一个高延迟连接,所以我使用线程并行地执行许多查询。目前,每个查询都会建立一个新的连接;我希望重用这些连接,这应该会减少整个下载所需的时间。以下是我的代码: #include #include #include #incl ..
发布时间:2022-04-09 15:20:50 C/C++开发

带有 Boost::Beast 的 SSL 隧道

我想连接到只允许 HTTP 连接的代理服务器,通过 HTTPS 与目标服务器通话. 代理服务器文档指出,唯一的方法是通过 HTTP Connect 动词(他们计划将直接 HTTPS 连接添加到代理服务器本身,但目前只允许 HTTP 连接). 在我的 C++ 程序中,我在几个月内使用 ssl_stream 成功连接并与目标服务器一起工作,使用 boost::asio 而没有 boost: ..
发布时间:2021-06-22 20:35:18 C/C++开发

我如何使用从on_read处理程序分派的最终回调将响应异步返回给调用者?

我需要为c ++客户端公开一个异步REST api,该API在内部使用boost :: beast发送REST请求/接收响应. 起点是http_client_async.cpp示例. 现在,客户端将使用此异步api传递回调函数,该函数需要在REST操作结束时从on_read()处理函数[http_client_async.cpp]中调用,并将完整的响应传递回调用者./p> 我该如何实 ..
发布时间:2021-04-15 20:51:26 C/C++开发

C ++-Boost streambuf放气的行为不一致?

问题陈述 我正在尝试使用他们的 websocket与OKEX交易所建立Websocket连接API .我正在使用 Boost :: Beast websockets. 问题是OKEX的服务器未遵循正确的 permessage_deflate 压缩协议,并且发送的邮件文档似乎假设了我没有很多背景知识.我尝试使用 buffer.data(),将 buffer 转换为 char * 数组,所 ..
发布时间:2021-04-15 20:50:53 C/C++开发

为什么Boost-Beast给我部分消息异常

我正在尝试将boost beast http库用于HTTP客户端.当我使用模拟服务器时,它可以正常工作,但是当我尝试连接到真实服务器时, boost :: beast :: http :: read 会抛出一个异常,指出“部分消息". 我已经在这个问题上工作了几天,但我不知道为什么.到目前为止,我一直在使用其他http客户端库,并且服务器通信一直在正常工作,而没有任何类似的问题. 对于 ..
发布时间:2021-04-15 20:47:47 C/C++开发

野兽async_read()如何工作&有没有选择的余地?

我对boost::asio的基础知识不是很熟悉.我正在执行一项已连接到Web服务器并读取响应的任务.响应在生成响应时以随机时间即抛出. 为此,我使用的是boost::beast库,该库包装在boost::asio基础知识上. 我发现async_read()函数正在等待直到收到响应. 现在,问题是:在文档&示例显示了websocket通信的异步方式,其中websocket在收到响应 ..
发布时间:2020-11-26 02:14:04 C/C++开发

如何将boost :: beast中的序列化数据转换为字符串,以便可以以FIFO方式进行处理?

我有一个客户端应用程序,需要从服务器接收http“长时间运行的请求".我发送一条命令,获得响应的标头之后,我只需要接收用\r\n分隔的json数据,直到连接终止. 我设法适应了增强野兽客户端示例,以发送消息并接收标头,然后解析标头并从服务器接收响应.但是,我未能找到一种方法来序列化数据以便处理json消息. 可以在此中继示例.在该示例中(p是解析器,sr是序列化器,input是套接字输 ..
发布时间:2020-09-22 06:31:01 C/C++开发

如何避免Boost野兽中出现body_limit错误并正确处理大消息

在某些情况下,有一个大块的响应对于野兽来说太大了,我想在进入野兽的body_limit之前停下来,然后使用普通的boost :: asio继续处理该消息.请注意,这(显然)意味着我已经收到了标头和主体的很大一部分. 我将其用于反向代理,所以基本上我想做的是以某种方式将不完整的响应发送到http客户端,同时继续使用boost :: asio中继其余的响应数据. 我猜我需要以某种方式序列化 ..
发布时间:2020-09-22 06:04:55 其他开发

C ++ Boost 1.66使用Beast http请求解析器解析字符串

我没有在项目中使用beast http服务器,但是我正在寻找一种解决方案,以在程序中解析std :: string形式的http请求,是否可以使用boost/beast/http/parser. hpp在这种情况下,如果是这样,那么如果您在代码中给出示例,那就太好了. 谢谢 解决方案 是可以的: std::string s = "POST /cgi/message.php H ..
发布时间:2020-09-22 04:47:08 C/C++开发