Javascript socketio客户端随机重新连接,生成新的request.SIDs
客户端连接并接收request.SID,但一段时间后,它会继续随机重新连接并接收新的SID app.py:Javascript socketio客户端随机重新连接,生成新的request.SIDs,javascript,python,flask,socket.io,Javascript,Python,Flask,Socket.io,客户端连接并接收request.SID,但一段时间后,它会继续随机重新连接并接收新的SID app.py: import json from flask import Flask, render_template, request from flask_socketio import SocketIO, emit app = Flask(__name__) socketio = SocketIO(app) @app.route("/")
import json
from flask import Flask, render_template, request
from flask_socketio import SocketIO, emit
app = Flask(__name__)
socketio = SocketIO(app)
@app.route("/")
def index():
return render_template('myindex.html')
@socketio.on('connect')
def test_connect():
emit('commands', json.dumps({'userid': request.sid}))
@socketio.on('commands')
def line1(*args,**kwargs):
emit('commands', json.dumps('ECHO: '+str(args)))
if __name__ == '__main__':
socketio.run(app, debug=True)
myindex.html:
<!doctype html>
<html lang="en">
<head>
<script type="application/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port);
socket.on('commands', message => {
let li = document.createElement("li");
li.innerText = message;
document.querySelector('#messages').appendChild(li);
});
document.querySelector('#send').onclick = () => {
let line = document.querySelector('#command').value;
socket.emit('commands', line);
document.querySelector('#command').value = '';
};
});
</script>
</head>
<body>
<ul id="messages"></ul>
<input id="command" autocomplete="off">
<button id="send">Send</button>
</body>
</html>
然后它继续随机重新连接并接收新的SID:
{"userid": "411d61092a8b415bb46a4ec5cd4d4503"}
{"userid": "2ac00248046d45c2b0c34f960f035236"}
{"userid": "46e9017b9cd746bebd08f63a6e30c201"}
发生了什么事?嗨,你找到解决办法了吗?嗨,你找到解决办法了吗?
{"userid": "411d61092a8b415bb46a4ec5cd4d4503"}
{"userid": "2ac00248046d45c2b0c34f960f035236"}
{"userid": "46e9017b9cd746bebd08f63a6e30c201"}