erlang httpc向错误的处理程序发送http响应

时间:2011-06-07 10:08:52

标签: erlang

我们的应用程序发出了大量的HTTP请求,我们在inets-5.5.1和5.3.2都遇到了这个问题。

基本上我们的响应的receive子句试图匹配httpc:request call中返回的请求id 我们发现请求ID匹配失败

我们在所有3个接收条款中看到了这种不匹配 stream_start,stream和stream_end

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

我们的很多http请求都会发生这种情况。有没有人遇到过这个?

由于 须磨

1 个答案:

答案 0 :(得分:0)

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

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