【问题标题】:erlang httpc sending http response to wrong handlererlang httpc向错误的处理程序发送http响应
【发布时间】:2011-09-09 23:01:08
【问题描述】:

我们的应用发出大量 HTTP 请求,我们在使用 inets-5.5.1 和 5.3.2 时都面临这个问题。

基本上,我们的响应接收子句试图匹配在 httpc:request 调用中返回的请求 ID 我们看到 Request Id 匹配失败

我们在所有 3 个接收子句中都看到了这种不匹配 stream_start、stream 和 stream_end

经过大量试验和错误后,我们观察到,如果相同的 pid 发出 http 请求,响应会有点混乱,但如果我们为 httpc:request 生成一个单独的进程,那就更好了。我们还尝试使用单独的 httpc 配置文件将当前进程请求与其他进程请求隔离开来。但即使在这之后,我们也看到了很多这种错误行为的发生。

这发生在我们的很多 http 请求中。有人遇到过吗?

谢谢 苏马

【问题讨论】:

    标签: erlang


    【解决方案1】:

    这可能不是直接的解决方案,但是....
    我建议您尝试一个更“重载”的 http 客户端,称为 ibrowse
    (如果您的项目还不算太晚!)

    Inets httpd 和 httpc 更适合“简单的 HTTP 任务”,所以如果你需要做“职责等级”,你可能需要 YawsMochiweb 等" HTTP 作业而不是 inets httpd
    祝你成功!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 2022-11-10
      • 2012-01-03
      • 1970-01-01
      • 2023-03-25
      相关资源
      最近更新 更多