小编Jim*_*mmy的帖子

Boost Beast HTTP

我正在开发一个http解析器,看起来像boost.beast是一个很好的.但是,我还有一些问题:

***假设已通过boost.asio套接字接收到HTTP请求POST数据.存储在std :: string缓冲区中.

  1. 有没有关于如何提取http标头字段及其值(一个接一个)的好样本?我假设它将是一个迭代器方法,但我尝试了几种方法仍然无法工作.

  2. 如何提取http正文?

非常感谢你.

boost visual-c++ c++11 boost-beast

7
推荐指数
1
解决办法
3606
查看次数

Boost Asio SSL 第二次以后无法接收数据(第一次正常)

我正在为简单的 RESTful 服务器开发 Boost Asio 和 Boost Beast。对于普通的 HTTP 和 TCP 套接字,它工作得很好。我用 JMeter 对它进行了负载测试,一切正常。

我尝试添加 SSL 套接字。我设置了“ssl::context”,也称为“async_handshake()”——与普通套接字相比,SSL 的附加步骤。仅在第一次时有效。客户端可以与我(服务器)连接,我也可以通过“boost::beast::http::async_read()”接收数据。

因为这是 RESTful,所以连接将在请求和响应后断开。我调用“SSL_Socket.shutdown()”,然后调用“SSL_Socket.lowest_layer().close()”来关闭 SSL 套接字。

当下一个传入请求时,客户端能够与我(服务器)连接。我调用了“SSL_Socket.async_handshake()”,然后调用了“boost::beast::http::async_read()”。但这次我无法收到任何数据。但连接已成功建立。

有人知道我错过了什么吗?

非常感谢!

c++ ssl boost openssl boost-asio

6
推荐指数
1
解决办法
2087
查看次数

标签 统计

boost ×2

boost-asio ×1

boost-beast ×1

c++ ×1

c++11 ×1

openssl ×1

ssl ×1

visual-c++ ×1