Saltar al contenido

Socket.io con python flask-socketio. Cómo configurar socket keepalive / timeout

Solución:

También puede establecer parámetros en el lado del servidor con Flask-SocketIO:

socketio = SocketIO(ping_timeout=10, ping_interval=5)

:param ping_timeout: The time in seconds that the client waits for the
                     server to respond before disconnecting. The default is
                     60 seconds.
:param ping_interval: The interval in seconds at which the client pings
                      the server. The default is 25 seconds.

El problema del panorama general es que si su servidor no responde a los paquetes de mantenimiento activo durante un período prolongado de tiempo, el cliente interrumpirá la conexión e intentará volver a conectarse. Si no puede volver a conectarse, eventualmente dejará de intentarlo.

Dicho esto, si desea modificar la configuración de la lógica de reintento, puede enviar un objeto de opciones como segundo argumento a su .connect() llama. Según la documentación aquí, hay control sobre las siguientes opciones:

Opciones:

  • reconexión si volver a conectarse automáticamente (verdadero)
  • reconexión Retrasa cuánto tiempo esperar antes de intentar una nueva reconexión (1000)
  • reconnectionDelayMax cantidad máxima de tiempo de espera entre reconexiones (5000). Cada intento aumenta la reconexión en la cantidad especificada por recnectionDelay.
  • timeout tiempo de espera de conexión antes de que se emitan los eventos connect_error y connect_timeout (20000)

Por lo tanto, si desea que siga intentando reconectarse automáticamente durante un período de tiempo mucho más largo, puede aumentar los tiempos para las últimas tres opciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *