Files
ft/CodexOutput/upserver/网络故障验收结果-2026-09-22.md

2.5 KiB
Raw Blame History

网络故障验收结果

2026-09-22。测试宿主:net9.0,实际生产 S101AccountSession.cs、CustomServerMgr.cs、RTService.cs,项目内真实 SignalR DLL 8.0.8.0;引擎/UI胶水为替身。固定上游 http://s101.local:18080/,仅账号102,代理仅监听127.0.0.1且限制路径。正式客户端配置未改。

结果

项目 结果
真实HTTP401响应 Error=Http/Status401,不授权且身份清空;随后真实登录及Cookie授权只读Get成功
真实连接中断 Error=Network,不授权且身份清空;随后真实登录及Cookie授权Get成功
生产超时 15.0秒后Error=Timeout,不授权且身份清空;随后真实登录及Cookie授权Get成功
WebSocket断开与自动恢复 代理切断已有底层socket,并拒绝连接3秒;观察到IsConnected=false,未手动Connect,随后自动恢复,前后Test=OK
跳过negotiate 代理记录2次真实WebSocket升级、0次negotiate
ReleaseAsync 释放后代理active=0,观察2.5秒无新连接,IsConnected=false

原始证据:NetworkTransportTests/Latest.log(退出0)、network-proxy-final.json。最终计数login_forwarded=4、faults=3、upgrades=2、active=0、negotiate=0;errors=1为故障注入期间代理捕获的socket级异常计数,没有记录敏感报文,也未将其冒称零错误。

范围限制与清理

  • 这是真实传输+生产源码/真实SignalR DLL的外部宿主验收。不冒充Unity完整登录UI、Mono运行时或渠道SDK/真机;不关闭这些尚未覆盖的检查项。
  • Unity Restricted两次compile-only拒绝HttpClient或构造器中的HttpMessageHandler元数据,证据network-http-compile.json、network-http-401-compile.json、network-hub-compile*.json;未执行被拒代码、未提高权限、未加入绕过入口。
  • 首次沙箱禁止上游socket(WinError10013),证据NetworkTransportTests/SandboxNetworkBlocked.log;通过既定范围的网络权限审批后运行成功。
  • Test是服务端只读RPC,不是主动业务推送;消息订阅实际恢复仍需安全可控的推送场景。
  • 测试代理已通过控制端点停止,进程退出0,无系统防火墙/DNS改动,无KV写删。客户端原101在网络测试后仍处于FishingStage/正确API,原始Error=0(network-final-live-state.json、network-final-live-errors.json)。之后因P2修复准备而Stop Play,不能把此状态当最终Editor状态。
  • 首轮仅单次故障恢复证据,不承诺所有网络并发/服务器故障组合。后续最终包补平台差异验证。