refactor(项目): 尝试 Python 语音识别和内容发送

This commit is contained in:
himeditator
2025-06-17 21:26:16 +08:00
parent 1e83ad2199
commit d1bee65ae1
11 changed files with 158 additions and 357 deletions

View File

@@ -0,0 +1,61 @@
import json
import websockets
class WebSocketServer:
def __init__(self):
self.server = None
self.websocket = None
async def start(self, port=8765):
"""启动 WebSocket 服务器"""
self.server = await websockets.serve(self.handle_client, "localhost", port)
print(f"INFO websocket server started on ws://localhost:{port}")
async def stop(self):
"""关闭 WebSocket 服务器"""
if self.server:
try:
if self.websocket:
await self.close()
self.server.close()
await self.server.wait_closed()
print("INFO server closed successfully")
except Exception as e:
print(f"ERROR failed to close server: {e}")
finally:
self.server = None
async def handle_client(self, websocket, path="/"):
"""处理客户端连接"""
try:
self.websocket = websocket
async for message in websocket:
print(f"INFO received: {message}")
except websockets.exceptions.ConnectionClosed:
print("INFO client disconnected")
self.websocket = None
async def send(self, data):
"""向连接的客户端发送数据"""
if self.websocket:
try:
await self.websocket.send(json.dumps(data))
print(f"INFO sent: {data}")
return True
except websockets.exceptions.ConnectionClosed:
print("ERROR: Client disconnected while sending data")
self.websocket = None
return False
return False
async def close(self):
"""安全地断开WebSocket连接"""
if self.websocket:
try:
await self.websocket.close()
print("INFO connection closed successfully")
except Exception as e:
print(f"ERROR failed to close connection: {e}")
finally:
self.websocket = None