我正在构建一个仅基于 Flask SocketIO 的聊天应用程序,没有数据库。其中一项要求是当新用户连接时,应用程序应显示以前的消息。我将每条消息保存到每个发送事件的数组中。好的,现在的问题是,当用户 A 连接并创建一些消息,然后用户 B 连接时,会显示来自用户 B 的所有先前消息,但随后用户 A 也收到了这些消息,因此用户 A 最终得到重复的消息。
客户端 JS
function myFunction() {
document.getElementById('demo').style['text-decoration']='underline';
}
const socket = io.connect("http://127.0.0.1:5000");
socket.on('connect', function() {
socket.emit('sync_messages');
socket.emit('sync_channels');
});
烧瓶应用程序代码
@socketio.on('sync_messages')
def handle_sync():
socketio.emit('show_all_messages', messages)
@socketio.on('sync_channels')
def handle_sync_channels():
socketio.emit('show_all_channels', channels)
正在发生的事情的可视化表示