Erlang。异步http请求。如何知道连接何时中断?

问题描述:

我通过erlang http client 使用http:request(get, {Url, []}, [], [{sync, false}, {stream, self}])向某些服务器发出异步请求,其中Url是服务器的url。一切正常,数据由 handle_info得到的进程的gen_server中调用http:request/4。 但是,当连接断开时,我应该收到消息,并且stream_end消息 没有得到。使用超时对我来说不可用,因为服务器可以长时间响应 。Erlang。异步http请求。如何知道连接何时中断?

是否有可能在handle_info中收到关于断开连接的消息?如果 不是,请建议方式知道连接何时中断?

对于HTTP请求的更重型吊装,使用ibrowse:

https://github.com/cmullaparthi/ibrowse

它有更多的旋钮来扭曲和转动的请求,并更完整w.r.t.很多东西。如果http/httpc不能解决你的问题,那么值得研究ibrowse是否会。

+0

感谢您的回答。我曾尝试过使用ibrowse。但是,似乎有些事情出错了。 我正在为Twitter流媒体API写作客户端,当我使用ibrowse时,我什么也得不到,例如 - http://pastebin.com/fJNELWJE。当我使用erlang http客户端时,所有的作品。即很多消息都得到了。 – 2011-01-08 16:57:54