Faccio richiesta asincrona a qualche server http Erlang cliente utilizzando http:request(get, {Url, []}, [], [{sync, false}, {stream, self}])
, dove Url
è URL del server. Tutto è ok e dei dati è ottenuto da handle_info
in gen_server del processo che chiamano http:request/4
. Ma dovrei ottenere il messaggio quando Connect è rotto e stream_end
messaggio non hai. L'utilizzo del timeout non è utilizzabile per me, perché il server può rispondere a molto tempo.Erlang. Richiesta http asincrona. Come sapere quando la connessione è interrotta?
E 'possibile ottenere il messaggio sulla rotta collegare in handle_info
? Se non lo è , suggerire il modo di sapere quando la connessione è interrotta?
Grazie per la risposta. Ho provato ad usare ibrowse prima. Ma, a quanto pare, qualcosa va storto. Sto scrivendo client per API di streaming di Twitter e quando utilizzo ibrowse non ottengo nulla, ad esempio - http://pastebin.com/fJNELWJE. Quando uso il client http di erlang, tutto funziona. Cioè molti messaggi hanno –
Il tuo esempio funziona qui, per la cronaca. –
quando posso ricevere messaggi da Twitter? .. perché sono sicuro che lo invieranno dopo la connessione. –