Expand description
CMD 20176 kCmdFetchValidBrokerList —— 获取 cid 当前有效的券商列表。
对齐 C++ FTLogin/Src/ftlogin/channel/impl/logger.cpp:1425-1500 的
FetchValidBrokerList。从 2024 起 C++ 用这个命令取代了老的 9419
kCmdFetchMainBroker,作为 broker 通道有效性判定的权威源。
§我们的用法(v1.4.22)
Platform TCP login 成功后发一次 CMD 20176,返回的 broker_ids 用于
决定本轮应建立哪些 broker 通道;和 HTTP auth 拿到的 auth_code_list
里的 broker_id 集合对比,只是为了把差异打进日志。
- 一致 → 正常建通道
- 不一致 → 打 WARN,CMD20176 成功时以 CMD20176 为准
- CMD 20176 失败(网络 / 服务端不支持)→ 不阻塞,调用方回退到 auth_code_list 旧路径
C++ 10.6 FetchValidBrokerList 成功后直接
CreateBrokerChannel(cid_valid_broker_list);失败才使用本地缓存 /
全 broker fallback。本模块按同一方向收敛:成功响应是权威过滤源,
失败响应不改变旧行为。
Constants§
Functions§
- diff_
broker_ sources - 把 CMD 20176 返回的 broker_ids 和 HTTP auth 返回的 auth_code_list 做一致性 diff,不一致时打 WARN,返回 C++ 对齐的权威 broker_id 集。
- fetch_
valid_ broker_ list - 向 Platform 通道发 CMD 20176,返回服务端认为该 cid 当前有效的 broker_id
列表。失败返回
Err(调用方通常 log + ignore)。