提升Asio如何发送多个请求

时间:2014-02-02 23:21:35

标签: c++ boost boost-asio

我在向服务器发送多个请求时遇到问题 我正在使用提升asio async_client exemple

问题是我总是得到:错误Asio.misc 2(我想到的是eof)。

我不知道这样做的好方法是拥有一个线程池还是我可以重用相同的io_service,... 关于如何在网上做到这一点,我找不到好的答案 我从第一个EOF到达EOF后才尝试发送另一个请求。

1 个答案:

答案 0 :(得分:1)

例子中的client类包装了整个过程:

  1. 名称解析流程
  2. 连接建立
  3. 发送请求
  4. 回复的处理
  5. 在阅读响应时到达EOF后,服务器将关闭您的连接(因为HTTP标头)。因此,您必须重新启动部分流程。您必须首先重新建立与远程服务器的连接,发送您的请求并阅读响应。重做名称解析可能没什么用。

    如果你真的想采用简单的方法,那么创建新的client可能会有效。

    您不需要线程池,您当然可以重复使用io_service对象。