2011-01-07 106 views
5

我通過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中收到關於斷開連接的消息?如果 不是,請建議方式知道連接何時中斷?

回答

6

對於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