python websocket 服务端实例

#pip3 install websocket-server
from websocket_server import WebsocketServer
 
 
# 当新的客户端连接时会提示
def new_client(client, server):
    print("当新的客户端连接时会提示:%s" % client['id'])
    server.send_message_to_all("Hey all, a new client has joined us")
 
 
# 当旧的客户端离开
def client_left(client, server):
    print("客户端%s断开" % client['id'])
 
 
# 接收客户端的信息。
def message_received(client, server, message):
    print("Client(%d) said: %s" % (client['id'], message))
    server.send_message_to_all(message)
 
 
if __name__ == '__main__':
 
    server = WebsocketServer(8000, "0.0.0.0")
    server.set_fn_new_client(new_client)
    server.set_fn_client_left(client_left)
    server.set_fn_message_received(message_received)
    server.run_forever()

 

以下是一个使用 Python 实现的简单 WebSocket 服务端类的示例代码: ```python import asyncio import websockets class WebSocketServer: def __init__(self, host, port): self.host = host self.port = port async def handle_client(self, websocket, path): # 处理连接建立后的逻辑 try: while True: message = await websocket.recv() # 处理接收到的消息 await websocket.send("Server received: " + message) except websockets.exceptions.ConnectionClosedOK: # 连接关闭时的逻辑 print("Client disconnected") async def start(self): # 创建 WebSocket 服务器并绑定处理函数 server = await websockets.serve(self.handle_client, self.host, self.port) print(f"Server started at ws://{self.host}:{self.port}") # 保持服务器运行状态 await server.wait_closed() # 创建 WebSocketServer 实例并启动服务器 ws_server = WebSocketServer('localhost', 8000) asyncio.run(ws_server.start()) ``` 这个示例代码使用了 `websockets` 库来实现 WebSocket 服务端。在 `handle_client` 方法中,你可以编写处理连接建立后的逻辑,通过 `await websocket.recv()` 接收客户端发送的消息,并通过 `await websocket.send()` 发送消息给客户端。在连接关闭时,可以在 except 块中编写关闭连接时的逻辑。 你可以根据自己的需求修改 `handle_client` 方法中的逻辑,例如处理不同的消息类型、广播消息等。启动服务器时,创建一个 WebSocketServer 实例并调用 `start` 方法即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值