Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public byte[] CreateReplyPacket(byte[] data) {
- List<byte> dataStream = new List<byte>();
- userCommand = (Globals.Command)BitConverter.ToInt32(data, 0);
- switch (userCommand) {
- case Globals.Command.Connect:
- dataStream.Clear();
- dataStream.AddRange(BitConverter.GetBytes((int)userCommand));
- Console.WriteLine("Incoming Connection ...");
- break;
- case Globals.Command.Login:
- int usernameLength = BitConverter.ToInt32(data, 4);
- int passwordLength = BitConverter.ToInt32(data, 8);
- if (usernameLength > 0)
- username = Encoding.UTF8.GetString(data, 12, usernameLength);
- if (passwordLength > 0)
- password = Encoding.UTF8.GetString(data, 12 + usernameLength, passwordLength);
- bool loginAttempt = Database.LoginAttempt(username, password);
- dataStream.Clear();
- dataStream.AddRange(BitConverter.GetBytes((int)Globals.Command.Login));
- dataStream.AddRange(BitConverter.GetBytes(loginAttempt));
- break;
- }
- return dataStream.ToArray();
- }
- private void OnReceive(IAsyncResult AR) {
- IPEndPoint ipeSender = new IPEndPoint(IPAddress.Any, 0);
- EndPoint epSender = ipeSender;
- int rec = clientSocket.EndReceiveFrom(AR, ref epSender);
- byte[] tmpData = new byte[rec];
- Buffer.BlockCopy(byteData, 0, tmpData, 0, rec);
- Globals.Command cmdReceived = (Globals.Command)BitConverter.ToInt32(tmpData, 0);
- if (cmdReceived == Globals.Command.Connect) {
- messageToDisplay = "Connected to the Server";
- Array.Clear(byteData, 0, tmpData.Length);
- StartListening();
- } else if (cmdReceived == Globals.Command.Login) {
- if (BitConverter.ToBoolean(tmpData, 4)) {
- messageToDisplay = "Succesfully Logged in";
- isAuthenticated = true;
- } else {
- messageToDisplay = "Wrong Username or Password";
- }
- }
- }
Add Comment
Please, Sign In to add comment