python 写个简单的websocket服务器
时间: 2023-08-17 11:07:48 浏览: 88
以下是一个简单的 WebSocket 服务器的示例代码,可以使用 Python 的 `websocket` 模块实现:
```python
import asyncio
import websockets
async def handle_client(websocket, path):
async for message in websocket:
# 处理客户端发送过来的消息
print(f"Received message from client: {message}")
response = f"Server received your message: {message}"
# 向客户端发送处理后的消息
await websocket.send(response)
async def run_server():
async with websockets.serve(handle_client, "localhost", 8765):
print("WebSocket server started.")
await asyncio.Future() # 这里需要一个不断等待的任务,否则程序会立即结束
if __name__ == "__main__":
asyncio.run(run_server())
```
该服务器会监听 `localhost` 的 `8765` 端口,并在客户端连接上来时,将收到的消息原样返回给客户端。
你可以通过运行该服务器并使用 WebSocket 客户端来进行连接和测试。例如,你可以使用 JavaScript 的 `WebSocket` 对象实现一个简单的客户端:
```javascript
const socket = new WebSocket("ws://localhost:8765");
socket.addEventListener("open", (event) => {
console.log("WebSocket connected!");
socket.send("Hello, WebSocket server!");
});
socket.addEventListener("message", (event) => {
console.log(`Received message from server: ${event.data}`);
});
```
该客户端会连接到 WebSocket 服务器,并发送一条消息,然后在收到服务器的响应后将其打印到控制台上。
阅读全文