优化一下

This commit is contained in:
liuwei
2026-02-02 10:38:30 +08:00
parent 7261afed80
commit f1626a97f5

View File

@@ -10,13 +10,12 @@ class GsCoreClient:
def __init__(self):
self._ws = None
self._url: str = ""
self._token: str = "" # 新增 token 存储
self._token: str = ""
self._recv_task: Optional[asyncio.Task] = None
self._message_handler: Optional[Callable[[dict], Awaitable[None]]] = None
self._is_closing = False
def configure(self, url: str, handler: Callable[[dict], Awaitable[None]], token: str = "liuwei"):
"""配置连接信息,默认 token 为 liuwei"""
self._url = url
self._message_handler = handler
self._token = token
@@ -30,17 +29,19 @@ class GsCoreClient:
try:
logger.info(f"[GsCoreClient] 正在连接早柚核心: {self._url}")
# Header 中携带 Token 进行鉴权
# 构造 Header
headers = {
"Authorization": f"Bearer {self._token}",
"Token": self._token # 兼容某些直接校验 Token 字段的服务端
"Token": self._token
}
# 修复点:确保 extra_headers 正确传递
self._ws = await websockets.connect(
self._url,
max_size=10 ** 7,
extra_headers=headers
extra_headers=headers,
max_size=10 ** 7
)
self._is_closing = False
if self._recv_task and not self._recv_task.done():
@@ -51,6 +52,7 @@ class GsCoreClient:
logger.success("[GsCoreClient] 连接成功且鉴权通过")
return True
except Exception as e:
# 如果依然报错,可能是 websockets 版本过旧,建议升级: pip install --upgrade websockets
logger.error(f"[GsCoreClient] 连接或鉴权失败: {e}")
self._ws = None
return False
@@ -80,7 +82,7 @@ class GsCoreClient:
except Exception as e:
logger.exception(f"[GsCoreClient] 接收消息异常: {e}")
break
await asyncio.sleep(0)
await asyncio.sleep(0.1)
if not self._is_closing:
self._ws = None