C++ Boost Asio如何发送多个请求

C++ Boost Asio如何发送多个请求,c++,boost,boost-asio,C++,Boost,Boost Asio,向服务器发送多个请求时遇到问题。 我在用助推asio 问题是,我总是得到:Error Asio.misc 2(我认为达到了eof) 我不知道这样做的好方法是拥有一个线程池,还是可以重用相同的io_服务,… 我在网上找不到关于如何做到这一点的好答案。 只有在我从第一个请求到达EOF后,我才尝试发送另一个请求。示例中的client类包装了整个过程: 名称解析过程 连接建立 请求的发送 回应的处理 读取响应时,一旦到达EOF,服务器就会关闭连接(因为HTTP头)。因此,您必须重新启动部分流程。您必须首

向服务器发送多个请求时遇到问题。
我在用助推asio

问题是,我总是得到:Error Asio.misc 2(我认为达到了eof)

我不知道这样做的好方法是拥有一个线程池,还是可以重用相同的io_服务,…
我在网上找不到关于如何做到这一点的好答案。

只有在我从第一个请求到达EOF后,我才尝试发送另一个请求。

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

  • 名称解析过程
  • 连接建立
  • 请求的发送
  • 回应的处理
  • 读取响应时,一旦到达
    EOF
    ,服务器就会关闭连接(因为HTTP头)。因此,您必须重新启动部分流程。您必须首先重新建立到远程服务器的连接,发送请求并读取响应。重做名称解析可能没有用

    如果您真的想用简单的方法,那么创建一个新的
    客户机
    可能会奏效


    你不需要线程池,你当然可以重用你的
    io\u服务
    对象。

    同样值得注意,这取决于你如何实现重用:如果你的io\u服务用完了,因此
    .run
    返回,你必须在调用
    io\u服务.run()之前调用
    io\u服务.reset()
    请再说一遍。这对于
    。run_one()
    @DeVadder也是如此。是的,你是对的。另外,仔细阅读文档总是一个好主意。