在服务器上运行进程时 Flask-SocketIO 断开连接?

时间:2021-03-29 09:17:47

标签: python sockets websocket flask-socketio

我正在尝试从 GPT-2 生成一首诗并使用 Flask-SocketIO 将其发送到客户端,但套接字连接似乎过早断开。单击按钮后,客户端不会收到包 'clickconfirmation''poem'。我目前正在通过将最近生成的诗存储在一个全局变量中并在它重新连接时将其发送到客户端来解决这个问题(hacky,但对于我目前需要的东西来说工作得很好)但我想知道是否有没有更好的方法来解决这个问题?

提前致谢!

Python:

@socketio.on('buttonclicked')
def handle_click(data):
    print("button clicked")
    socketio.emit('clickconfirmation', "clicked")
    poem = poet.generate_poetry()
    print(poem)
    socketio.emit('poem', {'poem': poem})

JS:

socket.on('poem', data => {
    console.log(data);
});

socket.on('clickconfirmation', data => {
    console.log(data);
});

外壳反馈:

WYb_MzevK5S0dGjPAAAD: Sending packet MESSAGE data 2["arduinoread",{"number":812.0}]
WYb_MzevK5S0dGjPAAAD: Received packet MESSAGE data 2["buttonclicked","clicked"]
received event "buttonclicked" from pDHNdGwgSVGoDJ2NAAAE [/]
button clicked
emitting event "clickconfirmation" to all [/]
WYb_MzevK5S0dGjPAAAD: Sending packet MESSAGE data 2["clickconfirmation","clicked"]
The wold'ring tide will flow between,
And the loud storm and tempest blow,
To drive us from the rocky shore.
Then, when he leaves each gloomy vale,
emitting event "poem" to all [/]
WYb_MzevK5S0dGjPAAAD: Sending packet MESSAGE data 2["poem",{"poem":"The wold'ring tide will flow between,\nAnd the loud storm and tempest blow,\nTo drive us from the rocky shore.\nThen, when he leaves each gloomy vale,"}]
6ZhLxqlR87bDSIdQAAAF: Sending packet OPEN data {'sid': '6ZhLxqlR87bDSIdQAAAF', 'upgrades': ['websocket'], 'pingTimeout': 5000, 'pingInterval': 25000}
emitting event "arduinoread" to all [/]
WYb_MzevK5S0dGjPAAAD: Sending packet MESSAGE data 2["arduinoread",{"number":811.0}]
bWhw1hJsCA57fP6pAAAC: Sending packet PING data None
WYb_MzevK5S0dGjPAAAD: Sending packet PING data None
90Tgx41PpuTUaWdBAAAG: Sending packet OPEN data {'sid': '90Tgx41PpuTUaWdBAAAG', 'upgrades': ['websocket'], 'pingTimeout': 5000, 'pingInterval': 25000}
90Tgx41PpuTUaWdBAAAG: Received request to upgrade to websocket
90Tgx41PpuTUaWdBAAAG: Received packet MESSAGE data 0
Client connected
90Tgx41PpuTUaWdBAAAG: Sending packet MESSAGE data 0{"sid":"nhCQsmd7v8ChrdO7AAAH"}
90Tgx41PpuTUaWdBAAAG: Upgrade to websocket successful

0 个答案:

没有答案
相关问题