【发布时间】:2020-11-14 21:42:06
【问题描述】:
我有非常基本的 Flask + SocketIO 应用程序,但是当我尝试从客户端发出时,它没有被接收到。我的代码:
from flask import Flask
from flask_socketio import SocketIO
#Flask setup
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/')
...
@socketio.on('test')
def test():
print('received')
@socketio.on('connect')
def connect():
print('connected!')
def start_flask():
socketio.run(app, host='127.0.0.1', port=12345, debug=True)
if __name__ == '__main__':
start_flask()
JS:
var socket = io('http://localhost:36958');
socket.on('connect', function () {
console.log('connect');
});
function test() {
console.log('test')
socket.emit('test');
}
- 当我刷新时 - 我从 Python 获得“连接”,但不是从客户端/JS 控制台获得。 我只是在那里得到这个错误:
polling-xhr.js:315 Uncaught DOMException: Failed to read the 'responseText' property from 'XMLHttpRequest': The value is only accessible if the object's 'responseType' is '' or 'text' (was 'arraybuffer').
at n.value (https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.0.1/socket.io.min.js:6:49490)
at XMLHttpRequest.hasXDR.e.onreadystatechange (https://cdnjs.cloudflare.com/ajax/libs/socket.io/3.0.1/socket.io.min.js:6:48706)
- 当我尝试调用
test()函数时 - 它在 JS 控制台中显示“测试”,但在 Python 中没有“收到”。
谢谢。
【问题讨论】:
标签: javascript python flask socket.io