socketio python sockets flask

python - socketio - Flask-socket.error:



flask socketio (1)

Este es un problema con la implementación de Python 2 del módulo SocketServer , no está presente en Python 3 (donde el servidor sigue sirviendo).

Tienes 3 opciones:

  • No use el servidor integrado para sistemas de producción (después de todo, es un servidor de desarrollo ). Use un servidor WSGI apropiado como gunicorn o uSSGI ,
  • Habilite el modo enhebrado con app.run(threaded=True) ; el hilo se muere, pero se crea uno nuevo para futuras solicitudes,
  • Actualiza a Python 3.

Esta pregunta ya tiene una respuesta aquí:

Reabriendo esta pregunta a pedido ( error: [Errno 10053] ), proporcionando el ejemplo comprobable mínimo:

import time from flask import Flask, render_template app = Flask(__name__, static_folder=''static'', template_folder=''templates'') @app.route(''/'') def main(): return render_template(''test.html'') @app.route(''/test'') def test(): print "Sleeping. Hit Stop button in browser now" time.sleep(10) print "Woke up. You should see a stack trace from the problematic exception below." return render_template(''test.html'') if __name__ == ''__main__'': app.run()

HTML:

<html> <body> <a href="/test">test</a> </body> </html>

Guía: Ejecute la aplicación, navegue a localhost: puerto, haga clic en el enlace, luego presione el botón Detener en su navegador. Debería ver la excepción una vez que el sueño termine. La suspensión es necesaria para simular cualquier tipo de actividad que ocurra en el servidor. Pueden ser solo unos segundos: si el usuario se las arregla para salir de la página, el Flask se bloqueará.

socket.error: [Errno 10053] Una conexión establecida fue abortada por el software en su máquina host

¿Por qué el servidor deja de servir la aplicación? ¿Qué otro servidor puedo usar para mi aplicación Flask para evitar esto?