// 步骤 4 ,服务器返回消息 public void receiveMsg4f(ByteBuffer msg) { stServerReturnLoginSuccessCmd cmd = new stServerReturnLoginSuccessCmd(); cmd.derialize(msg); // 登陆成功开始加密解密数据包,在后面的消息里面设置 m_cryptKey = cmd.key; Ctx.m_instance.m_logSys.log(string.Format("crypt key: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}", m_cryptKey[0], m_cryptKey[1], m_cryptKey[2], m_cryptKey[3], m_cryptKey[4], m_cryptKey[5], m_cryptKey[6], m_cryptKey[7])); m_gateIP = cmd.pstrIP; m_gateIP = m_gateIP.TrimEnd('\0'); // 剔除结尾 '\0' 字符 m_gatePort = cmd.wdPort; m_dwUserID = cmd.dwUserID; Ctx.m_instance.m_pTimerMsgHandle.m_loginTempID = cmd.loginTempID; Ctx.m_instance.m_dataPlayer.m_dataMain.m_dwUserTempID = cmd.loginTempID; string str = string.Format(Ctx.m_instance.m_langMgr.getText(LangTypeId.eLTLog0, LangItemID.eItem5), m_gateIP, m_gatePort, m_dwUserID, Ctx.m_instance.m_pTimerMsgHandle.m_loginTempID); Ctx.m_instance.m_logSys.log(str); Ctx.m_instance.m_netMgr.closeSocket(Ctx.m_instance.m_cfg.m_ip, Ctx.m_instance.m_cfg.m_port); // 关闭之前的 socket connectGateServer(); }
static void Execute(stServerReturnLoginSuccessCmd cmd) { Debug.Log("帐号验证成功,准备连接到网关"); ZoneID = (ushort)cmd.zoneid; GatewayServerIP = MyConvert.ToString(cmd.pstrIP); GatewayServerPort = cmd.wdPort; UserID = cmd.dwUserID; LoginTempID = cmd.loginTempID; Net.Instance.Close(); Net.Instance.Start(GatewayServerIP, GatewayServerPort); Net.Instance.Send(new stUserVerifyVerCmd() { default_charid = cmd.charid, version = Version, }); }
static void Execute(stServerReturnLoginSuccessCmd cmd) { Debug.Log("帐号验证成功,准备连接到网关"); ZoneID = (ushort)cmd.zoneid; GatewayServerIP = MyConvert.ToString(cmd.pstrIP); GatewayServerPort = cmd.wdPort; UserID = cmd.dwUserID; LoginTempID = cmd.loginTempID; Net.Instance.Close(); Net.Instance.Start(GatewayServerIP, GatewayServerPort); Net.Instance.Send(new stUserVerifyVerCmd() { default_charid = cmd.charid, version = Version, }); }