C ++最快的点击URL的方法

时间:2013-06-19 21:42:11

标签: c++ c boost boost-asio

我正在尝试在我的高性能C ++应用程序中ping服务器上的URL,其中每毫秒都很关键。我不关心查询中的返回数据...我只需要向特定的URL发送HTTP请求(使其加载),我正在尝试找到最有效的非阻塞方法实现这一目标。

我的应用程序使用Boost :: ASIO,但是大多数这样做的方法似乎都涉及每次构建和拆除套接字(可能不幸的是这是必要的),但我希望有一个基本的C / C ++套接字单行程序这不会导致任何开销,内存泄漏,阻塞等。只需快速打开一个套接字,关闭HTTP请求,然后继续前进。

这需要每秒发生数千次,因此套接字和开销非常重要(不要让操作系统泛滥)。

有人对最有效的方法有任何建议吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

每秒发送数千条通知,我无法想象为每个通知打开一个套接字连接。由于开销,这可能效率太低。因此,正如Casey建议的那样,尝试使用专用连接。

由于听起来您在主线程上进行了相当多的处理,因此您可以考虑为套接字工作创建工作线程。您可能需要使用线程同步对象(如互斥锁或临界区)来单独编写代码 - 至少在从主线程更新容器(可能是队列)并从工作线程中读取它时。