Flask-SocketIO客户端连接持续报400 Bad Request错误求助
前后端WebSocket通信时客户端持续抛出400 Bad Request错误
实现前后端WebSocket通信,参考网上示例代码运行时,客户端连接服务器持续抛出400 Bad Request错误。以下是相关代码及错误信息:
Flask服务端代码
from flask import Flask, render_template from flask_socketio import SocketIO, emit app = Flask(__name__) app.config['SECRET_KEY'] = 'secret_key' socketio = SocketIO() socketio.init_app(app, cors_allowed_origins='*') name_space = '/dcenter' @app.route('/') def index(): return render_template('index.html') @app.route('/push') def push_once(): event_name = 'dcenter' broadcasted_data = {'data': "test message!"} socketio.emit(event_name, broadcasted_data, broadcast=False, namespace=name_space) return 'done!' @socketio.on('connect', namespace=name_space) def connected_msg(): print('client connected.') @socketio.on('disconnect', namespace=name_space) def disconnect_msg(): print('client disconnected.') @socketio.on('my_event', namespace=name_space) def mtest_message(message): print(message) emit('my_response', {'data': message['data'], 'count': 1}) if __name__ == '__main__': socketio.run(app, host='0.0.0.0', port=5000, debug=True)
前端客户端代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>SocketIO Demo</title> <script type="text/javascript" src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script> <script type="text/javascript" src="//cdn.bootcss.com/socket.io/1.5.1/socket.io.min.js"></script> </head> <body> <h2>Demo of SocketIO</h2> <div id="t"></div> <script> $(document).ready(function () { namespace = '/dcenter'; var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port + namespace); socket.on('dcenter', function (res) { var t = res.data; if (t) { $("#t").append(t).append('<br/>'); } }); }); </script> </body> </html>
错误信息
"GET /socket.io/?EIO=3&transport=polling&t=OQIAKtK HTTP/1.1" 400
已尝试更换Flask-SocketIO和engine-io的版本,也更换过其他示例代码,但问题未解决,寻求帮助。
内容的提问来源于stack exchange,提问作者YiJun Sachs
相关产品推荐
相关产品推荐

