Ahora async_read puede devolver un valor READ_CLOSE, cuando el socket leído ha cerrado la conexión y recv() devuelve cero.