From f86dc09a9ef4baba4c9458f770c1ddc4bf520282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Wed, 4 Mar 2026 23:41:33 +0800 Subject: [PATCH] =?UTF-8?q?```=20feat(common/rpc):=20=E4=BF=AE=E6=94=B9Red?= =?UTF-8?q?is=E8=AE=A2=E9=98=85=E4=B8=BB=E9=A2=98=E7=9A=84=E7=94=9F?= =?UTF-8?q?=E6=88=90=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将Redis订阅主题的生成方式从仅使用端口号改为使用OnlineID和端口号的组合, 通过公式10000*OnlineID+Port来生成唯一的订阅主题,以支持多服务器环境下的 战斗功能区分。 ``` --- common/rpc/func.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/rpc/func.go b/common/rpc/func.go index d9a3011b8..f608a45f2 100644 --- a/common/rpc/func.go +++ b/common/rpc/func.go @@ -192,8 +192,8 @@ func ListenFight(ctx g.Ctx) { // cool.Logger.Info(ctx, "成功订阅 Redis 主题", "topic", subscribeTopic) //房主服务器拉取之后,所有操作通过redie转发到房主服务器去执行,非房主方只进行收包操作 - conn.Do(ctx, "subscribe", "sun:start:"+gconv.String(cool.Config.ServerInfo.Port)) //发起战斗 ,由房主服务器主动拉取战斗实现 - conn.Do(ctx, "subscribe", "sun:sendpack:"+gconv.String(cool.Config.ServerInfo.Port)) //接受战斗的信息,直接接受包转发就行 + conn.Do(ctx, "subscribe", "sun:start:"+gconv.String(100000*cool.Config.ServerInfo.OnlineID+cool.Config.ServerInfo.Port)) //发起战斗 ,由房主服务器主动拉取战斗实现 + conn.Do(ctx, "subscribe", "sun:sendpack:"+gconv.String(100000*cool.Config.ServerInfo.OnlineID+cool.Config.ServerInfo.Port)) //接受战斗的信息,直接接受包转发就行 // 4. 循环接收消息 connError := false for !connError {