• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

305
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error