【问题标题】:Delphi - indy send post using multiple IdHTTP in the same timeDelphi - indy 同时使用多个 IdHTTP 发送帖子
【发布时间】:2015-03-03 00:41:32
【问题描述】:

如何同时使用TIdHTTP 发送多个帖子请求?

lHTTP1.Post('http://'+cURL+'/build.php?',lParamList, ResponseContent);
lHTTP2.Post('http://'+cURL+'/build.php?',lParamList, ResponseContent);
lHTTP3.Post('http://'+cURL+'/build.php?',lParamList, ResponseContent);

我尝试使用三个线程来执行此操作,但每条发布消息之间都有一秒钟的延迟。

如何在同一秒内发送所有帖子?

【问题讨论】:

  • 在 3 个并发线程中执行此操作不会自动使所有 3 个线程同时工作。还有其他因素,例如网络流量、cpu/硬盘速度等等。

标签: delphi post indy idhttp


【解决方案1】:

由于TIdHTTP 是一个阻塞组件,因此使用单独的线程是正确的方法。每个帖子的 1 秒延迟可能与操作系统如何调度线程有关,也可能与网络延迟有关,或者您可能正在使用具有内部延迟的 Indy 版本(例如,如果 HTTP 服务器发送 @987654322 @ 对POST 请求的响应,TIdHTTP 最多等待 5 秒以确保服务器发送正确的响应正文 - 一些有问题的服务器不会)。很难知道你的 1s 延迟实际发生在哪里。您必须调试/分析您的项目才能找到答案,我们无法为您做到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 2011-01-08
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多