• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Pruebas Online
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

300
Vistas
La aplicación web Flask SocketIO se niega a aceptar conexiones desde un archivo python

Estoy tratando de enviar algunos datos a una aplicación Flask usando sockets web. Nunca hice algo como esto, así que podría estar haciendo algo muy mal, pero hasta ahora no he podido aceptar una sola conexión.

Por el momento tengo 2 archivos python, server.py y client.py .

server.py inicia el servidor del matraz y el socket web, luego client.py debería poder conectarse a él, enviar un mensaje, que se imprime en la consola del servidor, luego el servidor debería repetir ese mensaje donde se recibirá por el cliente e imprimir en la consola del cliente.

Sin embargo, en este momento recibo un error de Handshake status 400 BAD REQUEST cuando el cliente intenta conectarse.

Aquí está el código que estoy usando:

server.py :

 from flask import Flask, render_template from flask_socketio import SocketIO app = Flask(__name__) app.config['SECRET_KEY'] = 'hi' socketio = SocketIO(app) @app.route('/') def sessions(): return "Hello World" @socketio.on('message') def handle_my_custom_event(mes): print('received my event: ' + str(mes)) socketio.emit('my response', mes) if __name__ == '__main__': socketio.run(app, debug=True)

client.py :

 import websocket websocket.enableTrace(True) ws = websocket.create_connection("ws://localhost:5000") print("Sending 'Hello, World'...") ws.send("Hello, World") print("Sent") print("Receiving...") result = ws.recv() print("Received '%s'" % result) ws.close()

Creo que hay algo mal con el archivo server.py , pero he estado enviando los documentos de Flask-SocketIO y es prácticamente idéntico a su ejemplo de inicio. Pero, de nuevo, tampoco sé lo suficiente sobre esto, así que no tengo una idea real de dónde radica el problema.

¡Cualquier ayuda se agradece, gracias!

about 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El problema es con tu cliente. Websocket y socket.io no son lo mismo, el protocolo socket.io puede usar websockets debajo del capó, pero no puede simplemente conectarse con el cliente websocket al servidor socket.io.

Lo que quiere usar es el cliente socket.io .

Y si no le importa, le recomiendo encarecidamente que use FastAPI en lugar de matraz. Es mucho más simple, más rápido y tiene mucha mejor documentación. Aquí puede encontrar un ejemplo completo y funcional del servidor y cliente websocket con FastAPI

about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda