【Python】FastApi中使用websocket 简单实现多人聊天室

本文详细指导如何在FastAPI框架中通过WebSocket实现服务器推送给用户消息的功能,包括WebSocket的安装、WebSocketManager类的创建,以及前端Vue中的WebSocket连接和维护逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FastApi就不用说了,懂得都懂,不懂的请先懂了再来;

WebSocket使得客户端和服务器之间的数据交换变得更加简单,简单点讲就是后端可以实时推送消息给正在使用的用户,多的不说,直接进入正题。

1、安装Websocket

pip install websockets

2、创建websocketutils.py

from fastapi import WebSocket
from typing import List

"""
创建工具管理类 处理服务端和客户端的交互
"""
class WebsocketManager:
    def __init__(self):
        # 初始化参数 记录活跃的客户端
        self.active_clients: List[WebSocket] = []
 
    async def connect(self, websocket: WebSocket):
        # 创建客户与服务端之间的连接 并记录下客户端
        await websocket.accept()
        self.active_clients.append(websocket)
 
    def disconnect(self, websocket: WebSocket):
        # 断开某个客户端的连接
        self.active_clients.remove(websocket)
 
    async def send_message_to_client(self, message: str, websocket: WebSocket):
        # 给客户端发送消息
        await websocket.send_text(message)
 
    async def broadcast(self, message: str):
        # 给所有客户端发送消息 广播
        for connection in
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值