public static void HandlePacketLoginRequest(Client client, LoginRequestPacket packet) { if (!client.CheckUsername(packet.Username)) { client.Kick("Inconsistent username"); } else if (packet.ProtocolOrEntityId < ProtocolVersion) { client.Kick("Outdated client"); } else { if (client.Server.UseOfficalAuthentication) { try { string authenticated = Http.GetHttpResponse(new Uri(String.Format("http://www.minecraft.net/game/checkserver.jsp?user={0}&serverId={1}", packet.Username, client.Server.ServerHash))); if (authenticated != "YES") { client.Kick("Authentication failed"); return; } } catch (Exception exc) { client.Kick("Error while authenticating..."); client.Logger.Log(exc); return; } } Task.Factory.StartNew(client.SendLoginSequence); } }
public User AddUser(LoginRequestPacket obj, string username) { User result; blastersmember member; // Fetch the member this belongs to using (var context = new BlastersContext()) member = context.blastersmembers.FirstOrDefault(x => x.members_l_username.ToLower() == username.ToLower()); using (var context = new BlastersContext()) result = context.users.FirstOrDefault(x => x.Name.ToLower() == obj.Username.ToLower()); if (result == null) { result = CreateUserAccount(member); } var user = result; result.Connection = obj.Sender; result.BlastersMember = null; ServiceContainer.Users.Add(user.Connection, user); return(user); }
internal LevelInformation(LoginRequestPacket packet) { LevelType = packet.LevelType; Dimension = packet.Dimension; Difficulty = packet.Difficulty; GameMode = packet.GameMode; }
public void LoginSendVerifyCode(string verifyCode) { byte[] bytes = Utils.Util.GetBytes(verifyCode); ByteBuffer buf = new ByteBuffer(bytes); uint vCode = buf.GetUInt(); if (QQClient.LoginStatus == LoginStatus.Login) { //qqclient_set_process(qq, P_LOGIN); //原来漏了这个 20090709 //prot_user_request_token(qq, qq->data.operating_number, qq->data.operation, 1, code); QQClient.LogManager.Log("send Verify Code:" + vCode.ToString()); OutPacket outPacket = new LoginRequestPacket(QQClient, QQClient.QQUser.QQKey.Verify_Token, vCode, 0); QQClient.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name); } else { //qqclient_set_process(qq, P_LOGGING); //原来这个是P_LOGIN,错了。 20090709 //prot_login_request(qq, &qq->data.verify_token, code, 0); QQClient.LogManager.Log("send Verify Code:" + vCode.ToString()); OutPacket outPacket = new LoginRequestPacket(QQClient, QQClient.QQUser.QQKey.Verify_Token, vCode, 0); QQClient.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name); } }
public bool AuthenticateGameServer(LoginRequestPacket packet, CommunicatorClient client) { lock (GameServers) { if (GameServers.ContainsKey(packet.ServerId)) { DisconnectCommunicator(client); Logger.WriteLog(LogType.Debug, $"A server tried to connect to an already in use server slot! Remote Address: {client.Socket.RemoteAddress}"); return(false); } if (!Config.Servers.ContainsKey(packet.ServerId.ToString())) { DisconnectCommunicator(client); Logger.WriteLog(LogType.Debug, $"A server tried to connect to a non-defined server slot! Remote Address: {client.Socket.RemoteAddress}"); return(false); } if (Config.Servers[packet.ServerId.ToString()] != packet.Password) { DisconnectCommunicator(client); Logger.WriteLog(LogType.Error, $"A server tried to log in with an invalid password! Remote Address: {client.Socket.RemoteAddress}"); return(false); } GameServerQueue.Remove(client); GameServers.Add(packet.ServerId, client); Logger.WriteLog(LogType.Network, $"The Game server (Id: {packet.ServerId}, Address: {client.Socket.RemoteAddress}, Public Address: {packet.PublicAddress}) has authenticated! Requesting info..."); return(true); } }
private void ProcessLoginRequest(LoginRequestPacket obj) { var username = obj.Username; var password = obj.Password; if (AreCredentialsValid(username, password)) { var user = AddUser(obj, username); Logger.Instance.Log(Level.Info, user.Name + " has joined the lobby."); var packet = new LoginResultPacket(LoginResultPacket.LoginResult.Succesful); ClientNetworkManager.Instance.SendPacket(packet, obj.Sender); // Send the user a list of sessions going on //TODO: Send this when they register the intent - it's more generic var sessionService = (GameSessionService)ServiceContainer.GetService(typeof(GameSessionService)); sessionService.SendUserSessions(user); sessionService.SendToUsersOnlineList(); } else { // Reject the user if they aren't able to authenticate var packet = new LoginResultPacket(LoginResultPacket.LoginResult.Failed); ClientNetworkManager.Instance.SendPacket(packet, obj.Sender); } }
public static void ReadLoginRequest(TestClient client, PacketReader reader) { LoginRequestPacket lr = new LoginRequestPacket(); lr.Read(reader); if (!reader.Failed) { TestClient.HandlePacketLoginRequest(client, lr); } }
// login request public void ReceiveLoginRequest(Socket clientSocket, byte[] data) { // packet serialize LoginRequestPacket packet = new LoginRequestPacket(data); LoginRequestData joinRequestData = packet.GetData(); // process // send result packet }
private void Button1_Click(object sender, EventArgs e) { LoginRequestPacket packet = new LoginRequestPacket() { ID = textBox1.Text, Password = textBox2.Text }; MNetworkEntry.Instance.Send(new ProtobufPacket <LoginRequestPacket>(0, PacketEnum.ProcessType.Data, (int)MessageType.LoginRequest, packet)); this.Close(); }
public void Connect(string server, int port, string account, string token) { Reset(); this.loginServer = new ServerInfo(server, port); this.currentWorldServer = this.loginServer; // save connection info this.networkThread.Start(); LoginRequestPacket cp = new LoginRequestPacket(account, token); SendMessage(cp, false, true); this.World = "Connecting..."; }
///// <summary>登录成功事件 ///// <remark>abu 2008-03-08 </remark> ///// </summary> //public event EventHandler<QQEventArgs<LoginReplyPacket, LoginPacket>> LoginSuccessed; ///// <summary> ///// Raises the <see cref="E:LoginSuccessed"/> event. ///// </summary> ///// <param name="e">The <see cref="LFNet.QQ.Events.QQEventArgs<LFNet.QQ.Packets.In.LoginReplyPacket>"/> instance containing the event data.</param> //internal void OnLoginSuccessed(QQEventArgs<LoginReplyPacket, LoginPacket> e) //{ // this.QQClient.IsLogon = true; // this.QQUser.IsLoggedIn = true; // if (LoginSuccessed != null) // { // LoginSuccessed(this, e); // } //} // //<summary> // //登录重定向事件 // //</summary> //public event EventHandler<QQEventArgs<LoginReplyPacket, LoginPacket>> LoginRedirect; //internal void OnLoginRedirect(QQEventArgs<LoginReplyPacket, LoginPacket> e) //{ // // 如果是登陆重定向,继续登陆 // QQClient.LoginRedirect = true; // QQClient.ConnectionManager.ConnectionPool.Release(QQPort.Main.Name); // QQClient.Login(Utils.Util.GetIpStringFromBytes(e.InPacket.RedirectIP), e.InPacket.RedirectPort); // if (LoginRedirect != null) // { // LoginRedirect(this, e); // } //} // //<summary> // //重定向登录时,重定向服务器为空 // // <remark>abu 2008-03-10 </remark> // //</summary> //public event EventHandler<QQEventArgs<LoginReplyPacket, LoginPacket>> LoginRedirectNull; // //<summary> // //Raises the <see cref="E:LoginRedirectNull"/> event. // //</summary> // //<param name="e">The <see cref="LFNet.QQ.Events.QQEventArgs<LFNet.QQ.Packets.In.LoginReplyPacket>"/> instance containing the event data.</param> //internal void OnLoginRedirectNull(QQEventArgs<LoginReplyPacket, LoginPacket> e) //{ // if (LoginRedirectNull != null) // { // LoginRedirectNull(this, e); // } //} ///// <summary> ///// 登录失败触发的事件 ///// <remark>abu 2008-03-10 </remark> ///// </summary> //public event EventHandler<QQEventArgs<LoginReplyPacket, LoginPacket>> LoginFailed; ///// <summary> ///// Raises the <see cref="E:LoginFailed"/> event. ///// </summary> ///// <param name="e">The <see cref="LFNet.QQ.Events.QQEventArgs<LFNet.QQ.Packets.In.LoginReplyPacket>"/> instance containing the event data.</param> //internal void OnLoginFailed(QQEventArgs<LoginReplyPacket, LoginPacket> e) //{ // if (LoginFailed != null) // { // LoginFailed(this, e); // } //} ///// <summary> ///// 登录过程中的未知错误 ///// </summary> //public event EventHandler<QQEventArgs<LoginReplyPacket, LoginPacket>> LoginUnknownError; ///// <summary> ///// Raises the <see cref="E:LoginUnknownError"/> event. ///// </summary> ///// <param name="e">The <see cref="LFNet.QQ.Events.QQEventArgs<LFNet.QQ.Packets.In.LoginReplyPacket>"/> instance containing the event data.</param> //internal void OnLoginUnknownError(QQEventArgs<LoginReplyPacket, LoginPacket> e) //{ // if (LoginUnknownError != null) // { // LoginUnknownError(this, e); // } //} #endregion internal void ProcessLoginTouchReply(LoginTouchReplyPacket loginTouchReplyPacket, LoginTouchPacket loginTouchPacket) { QQEventArgs <LoginTouchReplyPacket, LoginTouchPacket> e = new QQEventArgs <LoginTouchReplyPacket, LoginTouchPacket>(QQClient, loginTouchReplyPacket, loginTouchPacket); if (loginTouchReplyPacket.ReplyCode == ReplyCode.OK) { QQClient.LoginStatus = LoginStatus.Connected; if (loginTouchReplyPacket.IsRedirect)//转向 { if (Utils.Util.IsIPZero(loginTouchReplyPacket.RedirectIP)) { //OnLoginRedirectNull(e); QQClient.LogManager.Log("RedirectIp Is Zero!"); QQClient.LoginStatus = LoginStatus.Failed; } else { QQClient.LoginStatus = new LoginStatus("Redirect to" + Utils.Util.GetIpStringFromBytes(loginTouchReplyPacket.RedirectIP), "重定向到服务器" + Utils.Util.GetIpStringFromBytes(loginTouchReplyPacket.RedirectIP)); //OnLoginRedirect(e); QQClient.LoginRedirect = true; QQClient.ConnectionManager.ConnectionPool.Release(QQPort.Main.Name); QQClient.LogManager.Log("Redirect to " + Utils.Util.GetIpStringFromBytes(loginTouchReplyPacket.RedirectIP)); string ipTemp = QQClient.LoginServerHost; QQClient.LoginServerHost = Utils.Util.GetIpStringFromBytes(QQClient.ServerInfo.CSP_dwConnIP); QQClient.ServerInfo.CSP_dwConnIP = Utils.Util.IpToBytes(ipTemp); //重新登录 QQClient.Login(); } } else { //将服务器返回的时间和IP存入QQClient等待使用 QQClient.ServerTime = loginTouchReplyPacket.ServerTime; QQClient.ClientIP = loginTouchReplyPacket.ClientIP; //0xba开始登陆 QQUser.QQKey.LoginRequestToken = loginTouchReplyPacket.Token; OutPacket outPacket = new LoginRequestPacket(this.QQClient); QQClient.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name); //QQUser.QQKey = new QQKey(this.QQUser); //QQClient.LoginManager. } } else { QQClient.LoginStatus = LoginStatus.Failed; } }
private void Handler(object sender, JavascriptMethodEventArgs args) { switch (args.MethodName.ToLower()) { case "close": { Application.Exit(); } break; case "openhomepage": { Process.Start("http://blastersonline.com"); } break; case "openforums": { Process.Start("http://blasters.skideria.com"); } break; default: { var username = FlowController.WebControl.ExecuteJavascriptWithResult("document.getElementById('txt-username').value"); var password = FlowController.WebControl.ExecuteJavascriptWithResult("document.getElementById('txt-password').value"); if (username.ToString() == string.Empty || password.ToString() == string.Empty) { var code = "bootbox.alert('You must specify a valid username and password. The given credentials are incorrect.');"; FlowController.WebControl.ExecuteJavascript(code); return; } var packet = new LoginRequestPacket(username, password); NetworkManager.Instance.SendPacket(packet); // Wait a moment //Thread.Sleep(500); // Change the view FlowController.ChangeView(new RoomSelectView()); } break; } }
public async Task LoginRequest_With_Invalid_Credentials_Throws_AuthenticationException() { var client = new APIClient(moq_connection.Object); var login = 1; LoginRequestPacket packet = null; moq_connection.Setup(con => con.SendPacket(It.IsAny <LoginRequestPacket>())) .Callback <APINetworkPacket>(x => packet = (LoginRequestPacket)x); var task = client.Login(login, "Foo"); moq_connection.Raise(con => con.PacketReceived += null, new LoginResponsePacket() { RequestId = packet.RequestId, Login = login, LoginStatus = LoginStatus.InvalidPassword }); await TaskHelper.ThrowsAsync <AuthenticationException>(async() => await task); }
private void MsgLoginRequest(LoginRequestPacket packet) { if (!Server.AuthenticateGameServer(packet, this)) { Socket.Send(new LoginResponsePacket { Response = CommLoginReason.Failure }); return; } Socket.Send(new LoginResponsePacket { Response = CommLoginReason.Success }); ServerId = packet.ServerId; PublicAddress = packet.PublicAddress; RequestServerInfo(); }
public async Task LoginResponse_Has_Been_Handled_Properly() { var client = new APIClient(moq_connection.Object); var login = 1; LoginRequestPacket packet = null; moq_connection.Setup(con => con.SendPacket(It.IsAny <LoginRequestPacket>())) .Callback <APINetworkPacket>(x => packet = (LoginRequestPacket)x); var task = client.Login(login, "Foo"); moq_connection.Raise(con => con.PacketReceived += null, new LoginResponsePacket() { RequestId = packet.RequestId, Login = login, LoginStatus = LoginStatus.Successful }); var r = await task; Assert.Equal(login, r.Login); Assert.Equal(LoginStatus.Successful, r.LoginStatus); }
public void TestLogin() { connected.Reset(); socket.BeginConnect(HOST, PORT, new System.AsyncCallback(onConnect), socket); connected.WaitOne(); StyxPacketInfo packetInfo = new StyxPacketInfo(); packetInfo.socket = socket; socket.BeginReceive(packetInfo.headerBuffer, 0, StyxPacketInfo.HEADER_SIZE, 0, new System.AsyncCallback(Read_Callback), packetInfo); LoginRequestPacket loginRequestPacket = new LoginRequestPacket(); // TODO: doan nay cua mini var jsonUser = new JSONClass(); jsonUser ["userid"].AsInt = 2; jsonUser ["username"] = "******"; jsonUser ["gameid"].AsInt = gameId; loginRequestPacket.user = jsonUser.ToString(); loginRequestPacket.password = "******"; //login.pwd; loginRequestPacket.operatorid = operatorID; sendPacket(loginRequestPacket); }
// login request public void ReceiveLoginRequest(Socket clientSocket, byte[] data) { // packet serialize LoginRequestPacket receivePacket = new LoginRequestPacket(data); LoginRequestData loginRequestData = receivePacket.GetData(); // process bool result; string resultString; result = dataProcessor.LoginPlayer(clientSocket, loginRequestData.id, loginRequestData.password, out resultString); // make result data LoginResultData sendData = new LoginResultData(); sendData.loginResult = result; sendData.message = resultString; //make result packet LoginResultPacket sendPacket = new LoginResultPacket(sendData); // send result packet networkProcessor.Send(clientSocket, sendPacket); }
internal object HandleRequestPacket(ServerConnectorContext serverConnectorContext, int module, int command, LoginRequestPacket packet) { string errMsg = Program.ChatServerModel.Login(packet.Username, serverConnectorContext); bool retcode = errMsg == null; if (retcode == true) { Program.ChatServerModel.JoinGroup("Lobby", serverConnectorContext.Id.ToString()); } var resPacket = new LoginResponsePacket() { RetCode = retcode, Message = retcode ? "Login OK" : errMsg }; return(resPacket); }
public static void HandlePacketLoginRequest(TestClient client, LoginRequestPacket lr) { // Do something when logged client.StartTimer(); }
public static void WritePacket(ref NetOutgoingMessage msg, ref LoginRequestPacket packet) { msg.Write((byte)Types.LOGIN_REQUEST); msg.Write(packet.name); }
public static void ReadPacket(ref NetIncomingMessage msg, ref LoginRequestPacket packet) { packet.name = msg.ReadString(); }
internal void ProcessLoginRequestReply(LoginRequestReplyPacket loginRequestReplyPacket, LoginRequestPacket loginRequestPacket) { QQEventArgs <LoginRequestReplyPacket, LoginRequestPacket> e = new QQEventArgs <LoginRequestReplyPacket, LoginRequestPacket>(QQClient, loginRequestReplyPacket, loginRequestPacket); //if (loginRequestReplyPacket.Png_Data != 0x00)//需要验证码 //{ // if (loginRequestReplyPacket.Next != 0x00)//还有验证码数据没接受完 // { // QQClient.LogManager.Log("接收到部分验证码图片数据,继续接收...."); // OutPacket outPacket = new LoginRequestPacket(QQClient, loginRequestReplyPacket.Png_Token, 0, 1);//发送一个请求验证码的包 // QQClient.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name); // } // else//已经得到验证码文件 // { // QQClient.LoginStatus = LoginStatus.NeedVerifyCode; // QQClient.QQUser.QQKey.Verify_Token = loginRequestReplyPacket.Answer_Token; // QQClient.LogManager.Log("Need input Verify Code"); // OnLoginNeedVerifyCode(e); // } //} //else//不需要验证码 //{ // QQClient.LogManager.Log("Process LoginRequest Success! Now Process Verify Password..."); // QQClient.QQUser.QQKey.Answer_Token = loginRequestReplyPacket.Answer_Token; // OutPacket outPacket =new LoginVerifyPacket(this.QQClient) ;//发送一个登陆请求包 // QQClient.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name); //} }
private void HandleLogin(Client client, LoginRequestPacket packet) { if (client.LoggedIn) return; client.Player.EntityID = Server.TotalEntityCount++; client.Stream.WritePacket(new LoginResponsePacket(client.Player.EntityID, Server.ServerName, Server.MapSeed, Server.GameMode, (byte)(Server.IsNether ? -1 : 0), (byte)Server.Difficulty, (byte)128, (byte)Server.MaxPlayers)); client.Player.Username = packet.Username; client.LoggedIn = true; client.SendInitialChunks(); client.SendInitialPosition(); client.SendInitialInventory(); Server.BroadcastPacket(new ChatMessagePacket("", ChatColor.Yellow + packet.Username + " joined the game.")); foreach (Client c in Server.GetClients()) { if(!c.Equals(client)) client.Stream.WritePacket(new NamedEntitySpawnPacket(c.Player.EntityID, c.Player.Username, (int)c.Player.Location.X, (int)c.Player.Location.Y, (int)c.Player.Location.Z, 0, 0, 0)); } Logger.Info("'" + packet.Username + "' joined the game. [Entity ID = " + client.Player.EntityID + "]"); }
private void Login() { LoginRequestPacket packet = new LoginRequestPacket(usernameField.text, passwordField.text); Connection.Instance.SendData(packet.Data); }
protected override void ParseBody(ByteBuffer buf) { //怎么我得到的数据是//01 00 05 00 00 20 78 09 D7 43 99 8B DD 87 59 82 EA 85 7D 09 9A B2 92 77 53 5B 6D E3 6C B6 66 B3 21 75 6B 0B 37 85 #if DEBUG Client.LogManager.Log(ToString() + " Decoded Data:" + Utils.Util.ToHex(buf.ToByteArray())); #endif ReplyCode = buf.Get(); //03: ok 04: need verifying 可是我得到的是01是由于前面错了了一个byte buf.Get(); //0x00 buf.Get(); //0x05 Png_Data = buf.Get(); int len = 0; if (Png_Data == 0x00 && ReplyCode == 0x01) { len = (int)buf.Get(); while (len == 0) { len = (int)buf.Get(); } } else //ReplyCode != 0x01按下面走 兼容多版本 { buf.GetInt();//需要验证码时为00 00 01 23,不需要时为全0 len = (int)buf.GetChar(); } Answer_Token = buf.GetByteArray(len); if (Png_Data == 0x01)//有验证码数据 { len = (int)buf.GetChar(); byte[] data = buf.GetByteArray(len); buf.Get(); Next = buf.Get(); string directory = Utils.Util.MapPath("/Verify/"); this.CodeFileName = Path.Combine(directory, Client.QQUser.QQ + ".png"); FileStream fs = null; if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } if (Next != 0x00) { fs = new FileStream(this.CodeFileName, FileMode.Create, FileAccess.ReadWrite, FileShare.Read); } else { fs = new FileStream(this.CodeFileName, FileMode.Append, FileAccess.Write, FileShare.Read); } //fs.Seek(0, SeekOrigin.End); fs.Write(data, 0, data.Length); fs.Close(); fs = null; len = (int)buf.GetChar(); Png_Token = buf.GetByteArray(len); } // if (Png_Data != 0x00) { if (Next != 0x00) { //prot_login_request(qq, &png_token, 0, 1); Client.LogManager.Log("接收到部分验证码图片数据,继续接收...."); OutPacket outPacket = new LoginRequestPacket(Client, Png_Token, 0, 1);//发送一个请求验证码的包 Client.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name); } else { //qq->data.verify_token = answer_token; //qqclient_set_process(qq, P_VERIFYING); Client.LoginStatus = LoginStatus.NeedVerifyCode; Client.QQUser.QQKey.Verify_Token = Answer_Token; Client.LogManager.Log("Need input Verify Code"); //Client.LoginManager.OnLoginNeedVerifyCode(e); } } else { //DBG("process verify password"); //qq->data.token_c = answer_token; //prot_login_verify(qq); Client.LogManager.Log("Process LoginRequest Success! Now Process Verify Password..."); Client.QQUser.QQKey.Answer_Token = Answer_Token; OutPacket outPacket = new LoginVerifyPacket(Client);//发送一个登陆请求包 Client.PacketManager.SendPacketAnyway(outPacket, QQPort.Main.Name); } }
private void OnLoginRequest(ProtobufPacket <LoginRequestPacket> packet) { LoginRequestPacket request = packet.ProtobufMessage; LoginAnswerPacket send = new LoginAnswerPacket(); // Packet Data Set // 로그인 핸들러에게 로그인이 성공했는지를 알아온다. bool success = loginHandler.SignIn(request.ID, request.Password, out string userName); // 보낼 패킷의 정보 설정 send.UserName = userName; send.Success = success; send.Context = "로그인에 성공했습니다."; MNetworkPlayer player = NetworkLobby.FindPlayer(packet.Serial); if (send.Success == false) { send.Context = "아이디 또는 비밀번호를 확인해주세요."; } else if (player != null) { if (player.PlayerState >= MNetworkPlayer.MPlayerState.LoginSuccess) { // 이미 접속중인 클라이언트 처리 send.Success = false; send.Context = "이미 접속된 아이디입니다."; } else { MNetworkPlayer find = NetworkLobby.FindPlayer(userName); if (find != null) { // 이미 해당 닉네임을 가진 유저가 접속중임을 처리 send.Success = false; send.Context = "해당 아이디는 이미 다른\n컴퓨터에서 사용 중입니다."; } else { // 없다면 네임 리스트에 추가해준다. player.ID = request.ID; player.Password = request.Password; player.PlayerState = MNetworkPlayer.MPlayerState.LoginSuccess; player.UserName = userName; NetworkLobby.AddPlayerToNameList(player); send.Success = true; } } } if (send.Success == true) { Debug.Log($"S:[{packet.Serial}] The login was successful. Name: {player.UserName}"); } else { Debug.Log($"S:[{packet.Serial}] Login failed. Name: {player.UserName}"); } SendPacket(new ProtobufPacket <LoginAnswerPacket>(packet.Serial, PacketEnum.ProcessType.Data, (int)MessageType.LoginAnswer, send)); }
public static Packet RenderPacket(PacketType type, string payload) { switch (type) { case PacketType.Exit: { ExitPacket p = JsonConvert.DeserializeObject <ExitPacket>(payload); return(p); } case PacketType.Error: { ErrorPacket p = JsonConvert.DeserializeObject <ErrorPacket>(payload); return(p); } case PacketType.VersionRequest: { VersionPacket p = JsonConvert.DeserializeObject <VersionPacket>(payload); return(p); } case PacketType.VersionResponse: { VersionPacket p = JsonConvert.DeserializeObject <VersionPacket>(payload); return(p); } case PacketType.LoginRequest: { LoginRequestPacket p = JsonConvert.DeserializeObject <LoginRequestPacket>(payload); return(p); } case PacketType.LoginResponse: { LoginResponsePacket p = JsonConvert.DeserializeObject <LoginResponsePacket>(payload); return(p); } case PacketType.PlayerListRequest: { PlayerListRequestPacket p = JsonConvert.DeserializeObject <PlayerListRequestPacket>(payload); return(p); } case PacketType.PlayerListResponse: { LoginResponsePacket p = JsonConvert.DeserializeObject <LoginResponsePacket>(payload); return(p); } case PacketType.CreateLobbyRequest: { CreateLobbyRequestPacket p = JsonConvert.DeserializeObject <CreateLobbyRequestPacket>(payload); return(p); } case PacketType.CreateLobbyResponse: { CreateLobbyResponsePacket p = JsonConvert.DeserializeObject <CreateLobbyResponsePacket>(payload); return(p); } default: Console.WriteLine("packet type not found."); return(new Packet()); } }
public ClientNetworkEventListener(NetPacketProcessor netPacketProcessor) { _packetProcessor = netPacketProcessor; _cachedLoginRequestPacket = new LoginRequestPacket(); }