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(); }
private void WhenRspRegister(NetMessageStream msg) { RegisterResults result = (RegisterResults)msg.ReadInt32(); // 계정등록 콜백 호출 if (m_registerCallback != null) { m_registerCallback(result); m_registerCallback = null; } }
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)); }