Ich mache asynchrone Anfrage an einige Server von Erlang HTTP-Client mit http:request(get, {Url, []}, [], [{sync, false}, {stream, self}])
, wobei Url
URL des Servers ist. Alles ist in Ordnung und Daten werden durch handle_info
in gen_server des Prozesses, die http:request/4
aufrufen. Aber ich sollte Nachricht erhalten, wenn die Verbindung unterbrochen ist und stream_end
Nachricht ist nicht erhalten. Timeout ist für mich nicht nutzbar, weil der Server lange Zeit antworten kann.Erlang. Asynchrone HTTP-Anfrage Wie kann ich wissen, wenn die Verbindung unterbrochen ist?
Ist es möglich, Nachricht über unterbrochene Verbindung in handle_info
zu erhalten? Wenn nicht, bitte schlagen Sie vor, zu wissen, wann die Verbindung unterbrochen ist?
Danke für die Antwort. Ich habe versucht, ibrowse vorher zu verwenden. Aber anscheinend läuft etwas schief. Ich schreibe Client für Twitter-Streaming-API und wenn ich ibrowse benutze bekomme ich nichts, zum Beispiel - http://pastebin.com/fJNELWJE. Wenn ich erlang HTTP-Client verwende, funktioniert alles. I.e. viele Nachrichten sind angekommen. –
Ihr Beispiel funktioniert hier, für die Aufzeichnung. –
wann kann ich Nachrichten von Twitter bekommen? .. weil ich sicher bin, dass sie es nach dem Verbinden senden. –