如何通过WebSocketServer类在Python中发送二进制数据?
时间: 2024-12-16 14:22:27 浏览: 4
在Python中,你可以使用`websockets`库来创建WebSocket服务器,并通过它发送二进制数据。以下是一个简单的示例:
首先,安装websockets库,如果尚未安装,可以使用pip安装:
```bash
pip install websockets
```
然后,你可以创建一个WebSocket服务器,监听特定端口并处理连接请求,包括发送二进制数据:
```python
import asyncio
import websockets
async def handle_connection(websocket, path):
# 假设你有一个字节串或文件内容需要发送
binary_data = b'\x01\x02\x03' # 示例二进制数据
await websocket.send(binary_data) # 发送二进制数据
print(f"Sent {len(binary_data)} bytes to client")
start_server = websockets.serve(handle_connection, 'localhost', 8765)
asyncio.get_event_loop().run_until_complete(start_server)
print("WebSocket server is running on http://localhost:8765")
asyncio.get_event_loop().run_forever()
```
在这个例子中,`handle_connection`函数接收一个新的WebSocket连接,将二进制数据发送给客户端,然后继续监听新的连接。
如果你有更复杂的二进制数据来源,比如从文件读取,只需先读取到字节串再发送即可。
阅读全文