问题标签 [cpp-netlib]

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 回答
361 浏览

c++ - 未找到 C++ cpp-net lib

这是一段代码,它是来自 cpp-netlib 的示例

但是在编译时g++ main.cpp -o socke.exe -lboost_system我得到以下错误

我已经安装了 cpnet-lib 库和 cmake 来构建它们。我无法理解为什么编译器找不到库。

0 投票
0 回答
61 浏览

c++ - cpp netlib 与旧的 c++ 编译器

我正在使用带有 cpp-netlib 的 c++ 03 编译器,在安装时它会从 CMake.txt 给出以下错误

cpp03上不支持cpp-netlib吗?他们的文档似乎没有指出与 C++ 编译器相关的任何内容

0 投票
1 回答
1552 浏览

c++ - 是否可以更改 HTTP 客户端超时期限(cpp-netlib)?

我正在使用 cpp-netlib (v0.11.0) 发送 HTTP 请求。

我想知道在发送 HTTP POST 请求时是否可以更改超时时间。

我正在运行一些单元测试,其中一个将 HTTP 请求发送到没有服务器运行的地址。大约 90 秒后尝试从响应超时中提取信息,出现错误“操作超时”。

0 投票
1 回答
48 浏览

cpp-netlib - 如何构造一个 basic_request对象 (cpp-netlib)

我成功地使用了 cpp-netlib (v0.11.0),并且正在开发一些单元测试来测试我的 HTTP 服务器和处理程序功能。

处理函数具有以下必需的签名:

我想做的是实例化请求对象,这样我就可以调用处理程序的函数调用运算符。但我无法编译它。

在上面的签名中,request是一个 typedef basic_request<Tag>

它有一个构造函数,它引用一个boost::network::uri::uri.

下面的代码在使用 clang 3.5 编译时会产生错误。

我究竟做错了什么?

0 投票
1 回答
178 浏览

c++ - 将 cpp-netlib 集成到预先存在的 boost 包中

我正在尝试将 cpp-netlib 集成到我预先存在的 boost 包中并在我的程序中使用它。

我只是包括:

并尝试像这样使用它:

在尝试这样做时,我收到了链接器错误:

架构 x86_64 的未定义符号:

到目前为止我所做的是下载 cpp-netlib,使用 cmake 构建它,我相信这是成功的,因为我可以看到以下 3 个库:

所以我的问题是我应该将生成的 3 个静态库放在哪里以确保正确链接。我已经可以在目录中看到一些库文件:

这是我必须保留我的库以确保正确链接的地方吗?

0 投票
1 回答
2346 浏览

c++ - HTTP POST 的延迟来自哪里?

我正在 C++ 中使用 cpp-netlib 在异步模式下在 Ubuntu 14.04 上开发 Web 服务。服务需要响应消息正文中通过 HTTP POST 发送的数据。我在接收大于 1K 的输入时观察到性能不佳,我想解决这个问题。

如果数据比较小,小于1K,服务器几乎是瞬间接收到数据。如果数据超过 1K,则在第一次调用异步读取回调函数后,在将第一块实际数据呈现给回调之前,会有大约一秒的延迟。在最初的延迟之后,随后的块几乎立即到达。

我怎样才能消除这种延迟?是不是用 curl 发布测试数据的神器?如何轻松测试 curl 发布数据的性能?

您可以在 github 上找到演示该问题的最少源代码。这是我用来将数据发布到服务器的命令:

这是它的输出示例(带注释):

如您所见,在第一次调用异步读取回调(并接收到零字节数据,顺便说一句)后,它会请求另一块输入。此时,在输入到达之前会有一秒多一点的暂停,在本例中从 1431387371.536394 到 1431387372.537203。这段时间发生了什么?我怎样才能消除这种延迟?

我在网上做了一些研究,并运行了几个实验(同步与异步模式与 cpp-netlib(无效),curl 与 libcurl(无效)),但一直未能找到答案。

更新:TCP 转储

根据 jxh 的建议,我在示例事务期间运行了 tcp 转储:

我对 tcpdump 不是很有经验,但它看起来像 175 字节流向服务器(HTTP 标头?),然后在延迟一秒多一点后,1206 字节流向服务器,然后是 51 字节块最小延迟,然后是服务器响应。

这告诉我延迟是在客户端引入的,可能是在 curl 中。有谁知道为什么?

0 投票
1 回答
118 浏览

c++ - cpp-netlib 抱怨缺少 lboost-thread

我正在学习 cpp-netlib 并尝试运行官方网站上给出的示例客户端。代码非常简单:

这是我的这个 c++ 应用程序的生成文件:CC = g++ -std=c++11

它抱怨编译后找不到 lboost_thread 库:

在我的 boost 库目录中, boost_thread 库显示如下:

为什么找不到这个库?我在链接中犯了任何错误吗?

0 投票
1 回答
1623 浏览

c++ - 使用 CMake 编译 cpp-netlib + Boost 程序不起作用

我正在尝试从cpp-netlib 站点编译 hello world 程序。代码如下。

我的 CMakeLists.txt 文件如下

构建我运行

并得到以下错误输出

0 投票
1 回答
499 浏览

c++ - 如何打开文件'libboost_thread-vc110-mt-gd-1_58.lib'-cpp-netlib?

所以我几乎是 C++ 的新手。我一直在拼命尝试使用cpp-netlib,但我无法真正继续,希望能得到一些帮助。

我已经按照说明下载了开发版本(我假设这是我需要能够使用该库的内容),并且没有构建它,因为说明指定只有在我想运行测试套件时才需要它。

我已经下载了最新的 Boost 并构建了它(从命令行)。

现在,当我尝试示例应用程序时,我收到一个链接器错误,提示“无法打开文件 'libboost_thread-vc110-mt-gd-1_58.lib”。

已设置包含和链接器目录。我查看了相关文件夹,只有 libboost_thread 文件都是 VC 120,据我了解,这意味着它们是由不同版本的 Visual Studio 生成的。

我真的不知道下一步该做什么。

如果有帮助,我正在使用 Visual Studio 2012。

0 投票
0 回答
77 浏览

c++ - cpp-netlib最简单例子编译时间长

我正在使用 Visual Studio 2015 c++ 编译器、boost 1.59 和 cpp-netlib 0.11.2。我正在使用预编译的头文件进行编译。最简单的 cpp-netlib 示例的编译时间超过 2.5 分钟。这是正常的吗?我可以加快速度吗?