这是客户端:
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
tokenList = {}
@app.route("/test")
def testConnect():
sid = tokenList["114514"]
print(sid)
emit('newMission', {'from': 'server'}, namespace="newMission", to=sid)
return 'success'
@socketio.on('register')
def register(data):
print("服务器%s 尝试注册" % data["secret"])
emit('register', {"token": "1919810"})
print("注册成功,token 为%s" % "1919810")
sid = request.sid
join_room("mainRoom")
tokenList["114514"] = sid
"""@socketio.on('message')
def message(data):
print(data) # {'from': 'client'}
emit('response', {'from': 'server'})
sleep(5)
emit('response', "exit")"""
if __name__ == '__main__':
socketio.run(app, debug=True, host='127.0.0.1', port=8090)
这是服务端:
import socketio
sio = socketio.Client()
@sio.event()
def connect():
print('正在注册,请稍后')
sio.emit('register', {'secret': '114514'})
@sio.on('register')
def isReg(data):
print("注册成功,当前 token 为" + data["token"])
@sio.on("newMission", namespace="message")
def newMission(data):
print(data)
sio.connect('ws://localhost:8090')
sio.wait()
预计是打算让服务端获取客户端的 sid ,然后通过 sid 推送消息,但是不知道为什么客户端死活无法收到消息,查了很久也不知道哪里写错了,求助万能的 v 友