Esempio n. 1
0
        public void Login(string userName, string password)
        {
            int randNedId           = GenerateRandomNegNum();
            LoginCommMessage toSend = new LoginCommMessage(randNedId, true, userName, password);

            //var messageToList = new Tuple<CommunicationMessage, bool, bool, ResponeCommMessage>(toSend,
            //    false, false, new ResponeCommMessage(-1));
            //MessagesSentObserver.Add(messageToList);
            _eventHandler.SendNewEvent(toSend);
            //while (MessagesSentObserver.Find(x => x.Item1.Equals(toSend)).Item2 == false)
            //{
            //    var t = Task.Run(async delegate { await Task.Delay(10); });
            //    t.Wait();
            //}
            //bool toRet = MessagesSentObserver.Find(x => x.Item1.Equals(toSend)).Item3;

            //if (toRet)
            //{
            //    LoginResponeCommMessage rmsg =
            //        (LoginResponeCommMessage) MessagesSentObserver.Find(x => x.Item1.Equals(toSend)).Item4;
            //    ClientUser cuser = new ClientUser(rmsg.UserId, rmsg.Name, rmsg.Username,
            //        rmsg.Password, rmsg.Avatar, rmsg.Money, rmsg.Email, rmsg.Leauge);
            //    _sessionId = rmsg.SessionId;
            //    user = cuser;

            //}
            //MessagesSentObserver.Remove(messageToList);
        }
Esempio n. 2
0
        public bool logout(string userName, string password)
        {
            LoginCommMessage toSend = new LoginCommMessage(_userId, false, userName, password);

            _eventHandler.SendNewEvent(toSend);
            return(true);
        }
Esempio n. 3
0
        public void SerializeAndDeserializeMsgTest()
        {
            LoginCommMessage msg     = new LoginCommMessage(1, true, "bar", "12345");
            string           parsed  = parser.SerializeMsg(msg);
            LoginCommMessage afterDe = (LoginCommMessage)parser.ParseString(parsed);

            Assert.AreEqual(msg.IsLogin, afterDe.IsLogin);
            Assert.AreEqual(msg.Password, afterDe.Password);
            Assert.AreEqual(msg.UserId, afterDe.UserId);
            Assert.AreEqual(msg.UserName, afterDe.UserName);
        }
Esempio n. 4
0
        public ResponeCommMessage HandleEvent(LoginCommMessage msg)
        {
            if (_sessionIdHandler != null)
            {
                IUser user;
                if (msg.IsLogin)
                {
                    user = _userService.LoginUser(msg.UserName, msg.Password);
                }
                else
                {
                    user = _userService.LogoutUser(msg.UserId);
                }
                ResponeCommMessage response;
                if (_socket != null && user != null)
                {
                    _commHandler.AddUserId(user.Id(), _socket);

                    long sid = GenerateSid(msg.UserId);
                    response = new LoginResponeCommMessage(user.Id(), sid, user.Name(), user.MemberName(),
                                                           user.Password(), user.Avatar(), user.Money(),
                                                           user.Email(), user.GetLeague().ToString(), true, msg);
                }
                else if (_socket != null)
                {
                    _commHandler.AddUserId(-1, _socket);

                    response = new LoginResponeCommMessage(-1, -1, "", "",
                                                           "", "", -1, "", "", false, msg);
                }
                else
                {
                    long sid = GenerateSid(msg.UserId);
                    response = new LoginResponeCommMessage(user.Id(), sid, user.Name(), user.MemberName(),
                                                           user.Password(), user.Avatar(), user.Money(),
                                                           user.Email(), user.GetLeague().ToString(), true, msg);
                }
                return(response);
            }
            return(new ResponeCommMessage(msg.UserId, msg.SessionId, false, msg));
        }
Esempio n. 5
0
        public void Logout(string userName, string password)
        {
            LoginCommMessage toSend = new LoginCommMessage(user.id, false, userName, password);

            _eventHandler.SendNewEvent(toSend);
        }
Esempio n. 6
0
 public ResponeCommMessage HandleEvent(LoginCommMessage msg)
 {
     GotClientToServerMsg(msg);
     return(new ResponeCommMessage(msg.UserId, msg.SessionId, false, msg));
 }
Esempio n. 7
0
 public void HandleEvent(LoginCommMessage msg)
 {
     Console.WriteLine("ActionCommMessage is client to server message");
 }