Realizo una solicitud asincrónica a un servidor mediante el cliente http de erlang utilizando http:request(get, {Url, []}, [], [{sync, false}, {stream, self}])
, donde Url
es la URL del servidor. Todo está bien y los datos se obtienen por handle_info
en gen_server del proceso que llama al http:request/4
. Pero debería recibir un mensaje cuando se interrumpe la conexión y el mensaje stream_end
no se recibe. El uso del tiempo de espera no es utilizable para mí, porque el servidor puede responder largo tiempo.Erlang. Solicitud HTTP asíncrona. ¿Cómo saber cuándo se rompe la conexión?
¿Es posible recibir un mensaje sobre una conexión interrumpida en handle_info
? Si no es , sugiera una forma de saber cuándo se ha roto la conexión.
Gracias por la respuesta. He intentado usar ibrowse antes. Pero, parece que algo va mal. Escribo el cliente para la API de transmisión de Twitter y cuando uso ibrowse no obtengo nada, por ejemplo - http://pastebin.com/fJNELWJE. Cuando uso el cliente http de erlang, todo funciona. Es decir. muchos mensajes se obtienen –
Su ejemplo funciona aquí, para el registro. –
¿Cuándo puedo obtener mensajes de Twitter? ... porque estoy seguro de que lo enviarán después de la conexión. –