python的websocket写个例子
时间: 2023-07-21 20:06:03 浏览: 94
当然,下面是一个使用`websocket`模块实现WebSocket服务器的简单示例:
```python
from websocket import WebSocketServer, WebSocketApp
def on_connect(client):
print("Client connected")
def on_message(client, message):
print(f"Received message: {message}")
client.send(message.upper())
def on_disconnect(client):
print("Client disconnected")
if __name__ == "__main__":
server = WebSocketServer(host="localhost", port=8000)
@server.websocket("/chat")
def chat(client):
on_connect(client)
while True:
message = client.recv()
if not message:
break
on_message(client, message)
on_disconnect(client)
server.run()
```
在这个例子中,我们首先导入了`WebSocketServer`和`WebSocketApp`类。然后定义了三个回调函数`on_connect`、`on_message`和`on_disconnect`,分别处理连接建立、消息接收和连接断开事件。
在`main`函数中,我们创建了一个`WebSocketServer`对象,并通过`websocket`装饰器定义了一个路由为"/chat"的WebSocket处理函数。在该处理函数中,我们首先调用`on_connect`函数来处理连接建立事件。然后进入一个循环,不断接收客户端发送的消息,并调用`on_message`函数处理收到的消息。如果接收到的消息为空,则表示客户端已断开连接,我们调用`on_disconnect`函数处理连接断开事件。
最后,我们调用`server.run()`来启动WebSocket服务器,并监听在本地的8000端口。
这只是一个简单的示例,实际使用时还可以根据需求进行更多的功能扩展。
阅读全文