在现代 Web 开发中,实时通信变得越来越重要。无论是聊天应用、在线游戏还是股票行情推送,都需要一种高效、低延迟的数据传输方式。而 WebSocket 正是为此而生的协议。本教程将带你从零开始,使用 Python 的 websockets 库搭建一个简单的 WebSocket 服务器和客户端。
传统的 HTTP 协议是“请求-响应”模式:客户端发送请求,服务器返回响应后连接就关闭了。而 WebSocket 是一种全双工通信协议,它允许客户端和服务器在建立一次连接后,持续双向地发送数据,非常适合需要实时交互的应用场景。
首先,你需要安装 Python 的 websockets 库。打开终端或命令提示符,运行以下命令:
pip install websockets 确保你使用的是 Python 3.7 或更高版本,因为 websockets 库依赖于 asyncio 异步编程模型。
下面是一个最简单的 WebSocket 服务器示例。它会接收客户端发来的消息,并原样回传(即“回显服务器”):
import asyncioimport websocketsasync def echo(websocket, path): async for message in websocket: print(f"收到消息: {message}") await websocket.send(f"服务器回显: {message}")start_server = websockets.serve(echo, "localhost", 8765)asyncio.get_event_loop().run_until_complete(start_server)print("WebSocket 服务器已启动,监听 ws://localhost:8765")asyncio.get_event_loop().run_forever() 将上述代码保存为 server.py 并运行。你会看到控制台输出“WebSocket 服务器已启动...”,说明服务器正在监听 ws://localhost:8765。
接下来,我们写一个简单的客户端来测试服务器:
import asyncioimport websocketsasync def hello(): uri = "ws://localhost:8765" async with websockets.connect(uri) as websocket: await websocket.send("你好,服务器!") response = await websocket.recv() print(f"收到服务器回复: {response}")asyncio.run(hello()) 将这段代码保存为 client.py 并运行。如果一切正常,你会看到输出:
收到服务器回复: 服务器回显: 你好,服务器!
path 参数表示客户端连接的 URL 路径,可用于路由不同功能。websocket 对象,当连接断开时,协程自动结束。这个基础示例展示了 Python WebSocket 的核心用法。在实际项目中,你可以:
记住,websockets 是一个轻量级但功能强大的库,非常适合构建高性能的 实时通信 应用。通过掌握它,你已经迈出了构建现代 Web 应用的重要一步!
本教程介绍了如何使用 Python 的 websockets 库快速搭建 WebSocket 服务器和客户端。我们学习了基本的异步编程模型、消息收发机制,并通过完整代码示例进行了实践。无论你是想开发聊天室、实时仪表盘还是多人协作工具,这些知识都是坚实的基础。
现在,轮到你动手尝试了!修改代码,加入自己的逻辑,体验 WebSocket服务器 带来的实时魅力吧!
本文由主机测评网于2025-12-03发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122309.html