示例#1
0
        public async Task <LogoutRes> LogoutRequest(LogoutReq logoutPacket)
        {
            var resPacket = new LogoutRes();

            Console.WriteLine($"Id({logoutPacket.UserId}), Send Logout Packet");

            // DB서버에 유저의 토큰 값을 내려달라고 요청.
            var tokenDeleteReq = new DBServer.TokenDeleteReq()
            {
                UserId = logoutPacket.UserId,
                Token  = logoutPacket.Token
            };

            var tokenDeleteRes = await Util.HttpMessenger.RequestHttp <DBServer.TokenDeleteReq, DBServer.TokenDeleteRes>(
                LoginServerMain.config.DBServerAddress, "DB/DeleteToken", tokenDeleteReq);

            if (tokenDeleteRes.Result != (short)ErrorCode.None)
            {
                Console.WriteLine($"Id({logoutPacket.UserId}), Error : {tokenDeleteRes.Result}");
                resPacket.Result = tokenDeleteRes.Result;
                return(resPacket);
            }

            Console.WriteLine($"Id({logoutPacket.UserId}), Logout Success");
            resPacket.Result = (short)ErrorCode.None;
            return(resPacket);
        }
示例#2
0
        void PacketProcess_LogoutResponse(byte[] bodyData)
        {
            /* previous packet format code
             * var responsePkt = new LogoutResPacket();
             * responsePkt.FromBytes(bodyData);
             */

            LogoutRes resPkt = LogoutRes.Parser.ParseFrom(bodyData);

            Log.Write($"로그아웃 결과: {(ERROR_CODE)resPkt.Res}");

            if ((ERROR_CODE)resPkt.Res == ERROR_CODE.ERROR_NONE)
            {
                btnLogin.Enabled  = true;
                btnLogout.Enabled = false;
                btnEnter.Enabled  = false;
                btnLeave.Enabled  = false;
                btnCreate.Enabled = false;
                ClearRoomInfo();
            }
        }