C ++将数据发送到Webserver

时间:2012-02-14 14:37:14

标签: c++ http post webserver libcurl

Currenlty我正在尝试使用c ++将数据发送到网络服务器 现在我正在使用libcurl,但我面临着它的问题,因为它很慢。

我对c ++有点新意,所以我想知道还有哪些其他选择可以将数据发送到网页,而网页又将它们存储到数据库中。

我现在有类似的东西

sprintf(data, "&val1=&val2=&val3=&val4.....",val1, val2, val3, val4....);
then send this data using curl post

问题在于,val1,val2,val3,val4实际上是从程序中获取的,实际上每秒生成2个样本值,因此curl函数变慢。 那么有人可以帮我提供更好的选择吗?

2 个答案:

答案 0 :(得分:2)

如果您必须为了速度,您可以随时尝试使用Web服务器打开套接字,并通过TCP / IP直接传输自生成的POST消息。话虽这么说,你仍然需要等待正确的握手以及来自TCP / IP传输状态的服务器的响应,从而感知到#&慢;"连接可能不是你可以控制的。

对于速度,通常UDP优先于TCP / IP,因为它缺乏对响应和其他数据包传输保证的检查。但在这种情况下,您可能必须先缓冲来自源的值,然后再尝试将它们发送到Web服务器,希望您最终不会用完缓冲区空间。

答案 1 :(得分:0)

这种情况并非变得缓慢,而是你过于频繁地引发一个非常缓慢的过程。

在发送之前缓冲更多数据。以更大的块发送它。研究一种称为双缓冲的技术,这样您就不会错过任何更新。

http://en.wikipedia.org/wiki/Multiple_buffering