浏览 3549 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-21
错误信息基本就是bad_return_value,invalid version等等 不知道有没有人试过 大名鼎鼎的Richard Jones在 A Million-user Comet Application with Mochiweb里面的那个floodtest的例子,一样会报这个错误 receive {http,{_Ref,stream_start,_X}} -> recv({Active+1,Closed,Chunks}); {http,{_Ref,stream,_X}} -> recv({Active, Closed, Chunks+1}); {http,{_Ref,stream_end,_X}} -> recv({Active-1, Closed+1, Chunks}); {http,{_Ref,{error,Why}}} -> io:format("Closed: ~w\n",[Why]), recv({Active-1, Closed+1, Chunks}); {loadurl, Url} -> http:request(get, {Url, []}, [], [{sync, false}, {stream, self}, {version, 1.1}, {body_format, binary}]), recv(Stats) end. 这段代码是单个进程运行的,另外一个进程不断发{loadurl,url}的消息,让httpclient 不停调用request方法 我试了,用多个进程不停调用这个一样会报错,但是只要调用次数比较少,就不会出错,服务器端的资源限制等都没有任何问题 呼唤javaeye上的erlang大牛们给解释下吧 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-07-21
错误和代码再详细一些吧。
erlang的http 不好用,这个是公认的。 不然为什么会有 ibrowser 了。。 http://github.com/cmullaparthi/ibrowse/tree/master |
|
返回顶楼 | |
发表时间:2009-07-21
R13B02在大力修正这些问题
|
|
返回顶楼 | |
发表时间:2010-03-09
这个问题已经修复, 你可以再测试下, 顺便做下性能测试:
1.3 Inets 5.1.3 Improvements and New Features - Fixed Bugs and Malfunctions * [httpc] - Raise condition. When http:request is called and httpc_manager selects a session where there's already a pending request, then the connection handler for that session effectively resets its parser, readying it for the response to the second request. But if there are still some inbound packets for the response to the first request, things get confused. tomas.abrahamsson@gmail.com Own Id: OTP-8154 |
|
返回顶楼 | |