如何使用boost::socket读取POST(JSON RPC)数据
How to read POST (JSON RPC) data with boost::socket?
如果我编写了一个HTTP服务器,它正在侦听某个地址上的请求,并且它收到了来自的请求
curl --data-binary '{"method": "sum", "params": {"a":"3", "b":"4"}, "id":"0", "jsonrpc": "2.0"}' http://localhost:12345
现在,如果我的服务器拥有一个boost::socket
来从其侦听的端口读取,它如何获得传递的JSON对象?
我发现async_read_some()
没有读取JSON对象对应的字节。
经过一点调试,我发现async_read_some()
确实也提取了这样的JSON RPC信息(基本上是整个HTTP请求字符串)。
具体的HTTP规范如下所示:http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5
整个HTTP请求以字节序列的形式出现,其中JSON RPC部分需要在JSON解析器的帮助下进行解析。
至于我做错了什么,我传递给async_read_some()
的缓冲区不够大,并且没有得到HTTP请求的某些部分。
相关文章:
- 在c++中使用nlohmann从类到json的转换
- C++json插入数组
- nlohmann-json将一个数组插入到另一个数组中
- 如何使用curlpp通过POST方法上传文件和json数据
- JSON转换为nlohmann JSON-lib中的结构数组
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 如何在 nlohmann 的 json 库中获取数组长度?
- UE4 C++ 我无法将 JSON 嵌套值获取到 TArray
- 如何在特定位置追加 json 文件
- 有没有办法让编译器在我放置字符串而不是 nlohmann::json 对象时抛出错误?
- 使用 jsoncpp 解析 json 数组字符串
- 将 FlatBuffer 对象序列化为 JSON,而不使用其架构文件
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- 使用 cmake 生成 compile_commands.json
- 我一直在使用C 的HTTP/1.0 400 JSON RPC错误
- 如何使用boost::socket读取POST(JSON RPC)数据
- c++中json-rpc的速度
- web服务- json-rpc服务器通过HTTPS使用c++
- Non-GPL JSON-RPC library for C++