955 B
955 B
- 所有对外暴露能力集中在单一 Python 主进程内:路由处理、WebSocket 租约状态、子进程管理均以模块级全局变量(如
g_mutex、g_httpd、g_ecat_child、g_win)共享,不使用类实例或配置对象。 - 子进程生命周期统一通过 Windows Job Object +
--parent-pid参数管理,确保父进程退出后子进程被内核连带回收。 - 对外部资源访问(旧实例焦点、ECAT 端口探测、子进程启动)一律包裹
try/except并用模块级锁串行化,避免因并发导致多实例或多线程竞争。 - 响应内容增强采用注入模式:将 JS/CSS 片段作为常量字符串定义并在发送 HTML 前通过
<meta>或</body>标记插入,而非生成独立中间页。 - 跨组件通信约定保持一致:VBScript 通过
pythonw.exe <脚本> [--window]命令行开关切换模式,HTTP 端点统一使用 JSON body +application/jsoncontent-type。