Flask框架-2-[单聊]: flask-socketio实现websocket的功能,实现单对单聊天
2024.01.17 12:30浏览量:6简介:本文将介绍如何使用Flask-SocketIO库实现WebSocket功能,并实现一个简单的单对单聊天应用。我们将通过实例代码来展示如何使用Flask和Flask-SocketIO构建一个基本的聊天室,并解释如何实现单聊功能。
在Flask框架中,我们可以使用Flask-SocketIO库来实现WebSocket功能,从而创建实时、双向的通信通道。在单聊场景中,我们可以利用WebSocket的特性,实现一对一的聊天功能。
首先,确保你已经安装了Flask和Flask-SocketIO库。你可以使用以下命令来安装:pip install flask flask_socketio
接下来,创建一个名为app.py
的文件,并在其中编写以下代码:
from flask import Flask, render_template, request, jsonify
from flask_socketio import SocketIO, emit
app = Flask(__name__)
socketio = SocketIO(app)
# 定义一个字典来存储用户和聊天消息
users = {}
messages = []
# 处理WebSocket连接和消息的函数
@socketio.on('message')
def handle_message(data):
user = data['user']
message = data['message']
emit('reply', {'user': user, 'message': message}, broadcast=False) # 广播消息给其他用户
messages.append({user: message})
emit('update', {'messages': messages}, broadcast=True) # 更新所有用户的聊天列表
# 处理用户连接和断开的函数
@socketio.on('connect')
def handle_connect():
if request.args.get('user') not in users:
users[request.args.get('user')] = len(users) + 1
emit('user count', users)
@socketio.on('disconnect')
def handle_disconnect():
if request.args.get('user') in users:\n
发表评论
登录后可评论,请前往 登录 或 注册