public void VerifyUserLogin(string username, string password, TcpClient client, string userPath) { string path = userPath + @"\" + username + ".txt"; if (File.Exists(path) == false) { Protocol loginInvalid = ProtocolCreator.LoginInvalid(); NetworkManager.SendMessage(loginInvalid, client); } else if (File.Exists(path) == true) { if (VerifyUserData(username, password, path) == true) { Protocol loginOK = ProtocolCreator.LoginOk(); NetworkManager.SendMessage(loginOK, client); string protocolString = loginOK.ToString(); char[] protocolStringArray = protocolString.ToCharArray(); string sessionKey = string.Empty; if (protocolStringArray[0] == 'C' && protocolStringArray[1] == 'H' && protocolStringArray[2] == 'A' && protocolStringArray[3] == 'T' && protocolStringArray[4] == 'L' && protocolStringArray[5] == 'O') { for (int i = 6; i < protocolStringArray.Length; i++) { sessionKey = sessionKey + protocolStringArray[i]; } this.OnlineUser.Add(new User(username, client, sessionKey)); Console.WriteLine("{0} ({1}) has logged in!", username, ((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString()); MessageManager messageManager = new MessageManager(this, client); messageManager.ForwardMessagesToAllClients(); } } else { Protocol loginInvalid = ProtocolCreator.LoginInvalid(); NetworkManager.SendMessage(loginInvalid, client); } } }