新增 WebSocket 网关:连接管理、心跳保活、限流与消息路由

This commit is contained in:
2026-09-27 19:26:55 +08:00
parent ff9add8655
commit 99d1827262
11 changed files with 632 additions and 8 deletions
+7
View File
@@ -117,6 +117,9 @@ func setupSetting() error {
if err := s.ReadSection("WechatMini", &global.WechatMiniSetting); err != nil {
return err
}
if err := s.ReadSection("WS", &global.WSSetting); err != nil { // 读取 WS 配置段到全局变量
return err // 读取或反序列化失败直接返回,启动阶段 panic 暴露问题
}
// ===== 必填校验:缺失即启动失败,避免运行期才发现配置错误 =====
if global.ServerSetting == nil {
@@ -148,6 +151,10 @@ func setupSetting() error {
if global.WechatMiniSetting == nil {
global.WechatMiniSetting = &setting.WechatMiniSettingS{}
}
// 其余 WS 默认值(心跳/超时/限流/队列)都在 internal/wsgateway 内部兜底,这里只避免 nil 解引用。
if global.WSSetting == nil { // 配置文件里没有 WS 段
global.WSSetting = &setting.WSSettingS{} // 赋一个零值结构体,保证各处读取不 panic
}
return nil
}