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

26 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 网络故障验收结果
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状态。
- 首轮仅单次故障恢复证据,不承诺所有网络并发/服务器故障组合。后续最终包补平台差异验证。