python websocket 服务端怎么写
时间: 2023-07-08 21:26:59 浏览: 114
在Python中,您可以使用`websockets`库来编写WebSocket服务器。下面是一个简单的WebSocket服务器示例:
```python
import asyncio
import websockets
async def handler(websocket, path):
async for message in websocket:
# Handle incoming message
print(f"Received message: {message}")
# Send response
response = f"Server received message: {message}"
await websocket.send(response)
async def main():
async with websockets.serve(handler, "localhost", 8765):
await asyncio.Future() # Run forever
asyncio.run(main())
```
在上面的代码中,我们定义了一个`handler`函数来处理客户端发送的消息。当有客户端连接到服务器时,`handler`函数将被调用。然后,它会使用`async for`循环来接收客户端发送的消息。当接收到消息时,它会打印消息内容,并使用`await websocket.send()`方法将响应消息发送回客户端。
我们使用`websockets.serve()`函数来启动WebSocket服务器。该函数需要两个参数:`handler`函数和服务器的地址和端口号。在上面的示例中,我们将服务器的地址设置为`localhost`,端口号设置为`8765`。
最后,我们使用`asyncio.run()`函数来运行`main()`函数,它将启动WebSocket服务器并一直运行下去。
当您想要停止WebSocket服务器时,您可以使用`websockets.serve()`函数返回的`WebSocketServer`对象的`close()`方法来关闭服务器。
阅读全文