服务器间通信 - li9chuan/BaseService GitHub Wiki

BaseService         服务器内部通信使用

1.注册回调处理函数

\script\_FES\Msg\MsgLogin.lua

    self._EventRegister = EventRegister.new();
	self._EventRegister:RegisterEvent( "LOGIN",     self, self.CBLogin );

2.向其它服务器发送消息(使用服务器名字广播)

\script\_FES\Msg\MsgLogin.lua

    local msg_authok = CMessage("AuthOk");
    msg_authok:wint64(tbl_login.UID);
    msg_authok:wstring(tbl_login.RoomType);
    BaseService:Broadcast( "SCH", msg_authok )      -- 玩家认证通过,请求发送数据。

3.向其它服务器发送消息(使用服务器ID发送)

\script\_FES\Msg\MsgLogin.lua

BaseService:Send( player_helper.ConFES, msg_sdata_1);

4.由FES转发到客户端,在除FES外的其它服务器上调用

\script\_PLS\Msg\MsgLogin.lua

    -- 发送玩家数据给客户端
    BaseService:SendToClient( player_helper, "SyncPlayerInfo",
                              player_helper.PlayerDataHelper:ToMsg() )