Esempio n. 1
0
        private void WhenReceiveRegisterResult(RegisterResults result)
        {
            this.timer_update.Stop();


            if (result == RegisterResults.Success)
            {
                MessageBox.Show("계정등록이 성공하였습니다.", "Notice",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (result == RegisterResults.Fail_AlreadyExist)
            {
                MessageBox.Show("해당 계정이 이미 존재합니다.", "Error!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (result == RegisterResults.Fail_InvalidName)
            {
                MessageBox.Show("유효하지않은 이름 입니다.", "Error!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (result == RegisterResults.Fail_InvalidPassword)
            {
                MessageBox.Show("유효하지않은 비밀번호 입니다.", "Error!",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }


            EnableUI();
        }
Esempio n. 2
0
        private void WhenRspRegister(NetMessageStream msg)
        {
            RegisterResults result = (RegisterResults)msg.ReadInt32();

            // 계정등록 콜백 호출
            if (m_registerCallback != null)
            {
                m_registerCallback(result);
                m_registerCallback = null;
            }
        }
Esempio n. 3
0
        private NetMessage WhenReqRegister(ServerVisitor client, NetMessageStream msg)
        {
            RegisterResults registerResult = RegisterResults.Success;


            string userName  = msg.ReadData <string>().Trim();
            string password  = msg.ReadData <string>();
            Color  userColor = Color.FromArgb(msg.ReadData <int>());


            // 회원여부 확인
            string userListFile = this.ServerPath + this.UserFileName;
            bool   isMember     = m_accountList.ContainsKey(userName);


            // 이미 회원이면 실패
            if (isMember)
            {
                registerResult = RegisterResults.Fail_AlreadyExist;
            }
            // 이름이 없거나 너무 길거나 금지문자가 포함되어 있으면 실패
            else if (userName.Length <= 0 || userName.Length > this.MaxNameLength ||
                     userName.IndexOf('\\') >= 0)
            {
                registerResult = RegisterResults.Fail_InvalidName;
            }
            // 비밀번호가 없거나 너무 길면 실패
            else if (password.Length <= 0 || password.Length > this.MaxPasswordLength)
            {
                registerResult = RegisterResults.Fail_InvalidPassword;
            }


            // 회원가입 가능시
            if (registerResult == RegisterResults.Success)
            {
                // 회원 목록에 추가

                var account = new GamePlayer()
                {
                    Name      = userName,
                    Password  = password,
                    AreaCount = 0,
                    UserColor = userColor
                };

                m_accountList.Add(userName, account);

                using (StreamWriter sw = new StreamWriter(new FileStream(userListFile, FileMode.Append)))
                {
                    account.SaveTo(sw);
                }
            }


            // 로그
            Utility.Logger.GetInstance().Log(string.Format("{0}-클라이언트가 \"{1}\"로 회원가입을 시도했습니다. 결과 : {2}",
                                                           client.ID, userName, registerResult.ToString()));


            // 회원가입 결과 전송
            NetMessageStream writer = new NetMessageStream();

            writer.WriteData((int)registerResult);

            return(writer.CreateMessage((int)MessageTypes.Rsp_Register));
        }