【发布时间】:2021-12-10 18:13:25
【问题描述】:
我是 FastAPI 的新手。我在 127.0.0.1:8000/abcd 和 ConnectionManager 对象中有一个 websocket 服务器。
class ConnectionManager:
def __init__(self):
self.active_connections: List[WebSocket] = []
async def connect(self, websocket: WebSocket):
await websocket.accept()
self.active_connections.append(websocket)
def disconnect(self, websocket: WebSocket):
self.active_connections.remove(websocket)
async def send_personal_message(self, message: str, websocket: WebSocket):
await websocket.send_text(message)
async def broadcast(self, message: str):
for connection in self.active_connections:
await connection.send_text(message)
manager = ConnectionManager()
还有 websocket 服务器:
@router.websocket("/abcd")
async def websocket_endpoint(websocket: WebSocket):
await manager.connect(websocket)
如何获取客户端 Websocket 连接的 IP 地址?以及如何将 active_connections 更改为字典,键是 IP 地址,值是 websocket?谢谢
【问题讨论】:
标签: python sockets websocket fastapi