refactor(server): P2 拆出 ecat_client/ecat_proc 并归一化桥路径

This commit is contained in:
cbb
2026-09-21 02:22:32 +08:00
parent 67dd1702f0
commit b70f5ed0d6
4 changed files with 943 additions and 794 deletions
+6 -1
View File
@@ -17,13 +17,14 @@ import urllib.request
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import esp32_server as srv # noqa: E402
import ecat_client # noqa: E402 # P2: _ecat_post/_ecat_find_port 实现在此模块
WS_MAGIC = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
calls = [] # 假 _ecat_post 记录到的请求路径
calls_lock = threading.Lock()
def fake_post(port, path, body, timeout):
def fake_post(port, path, body, timeout, **kwargs):
with calls_lock:
calls.append(path)
# 带空格的 "ok": true —— 故意与真 native 的紧凑格式不同,
@@ -89,8 +90,12 @@ def wait_flag(want, timeout=8.0):
def main():
# 加速测试: GRACE 从 3s 缩到 0.3s(重试轮次间隔同用该值, 一并缩短无妨)
srv.APP_LEASE_GRACE_S = 0.3
# P2 拆分后:lease 停循环路径用 esp32_server 命名空间;
# HTTP 代理路径在 ecat_client 内部解析 _ecat_post —— 两处都要 patch。
srv._ecat_post = fake_post
srv._ecat_find_port = lambda: 9999
ecat_client._ecat_post = fake_post
ecat_client._ecat_find_port = lambda: 9999
# 找空闲端口起真服务
with socket.socket() as probe: