示例#1
0
        /// <summary>
        /// 문자열로된 숫자를 명령어 타입으로 바꿔줍니다.
        /// 입력된 문자열이 올바르지 않다면 기본상태를 줍니다.
        /// </summary>
        /// <param name="sData"></param>
        /// <returns></returns>
        public Command StrIntToType(string sData)
        {
            //넘어온 명령
            claCommand.Command typeCommand = claCommand.Command.None;

            if (true == m_insNumber.IsNumeric(sData))
            {
                //입력된 명령이 숫자라면 명령 타입으로 변환한다.
                //입력된 명령이 숫자가 아니면 명령 없음 처리(기본값)를 한다.
                typeCommand = (claCommand.Command)Convert.ToInt32(sData);
            }

            return(typeCommand);
        }
        /// <summary>
        /// 넘어온 데이터를 분석 한다.
        /// </summary>
        /// <param name="sMsg"></param>
        private void MsgAnalysis(string sMsg)
        {
            //구분자로 명령을 구분 한다.
            string[] sData = sMsg.Split(claGlobal.g_Division);

            //데이터 개수 확인
            if ((1 <= sData.Length))
            {
                //0이면 빈메시지이기 때문에 별도의 처리는 없다.

                //넘어온 명령
                claCommand.Command typeCommand
                    = m_insCommand.StrIntToType(sData[0]);

                switch (typeCommand)
                {
                case claCommand.Command.None:                           //없다
                    break;

                case claCommand.Command.Msg:                            //메시지인 경우
                    Command_Msg(sData[1]);
                    break;

                case claCommand.Command.ID_Check_Ok:                            //아이디 성공
                    SendMeg_IDCheck_Ok();
                    break;

                case claCommand.Command.ID_Check_Fail:                          //아이디 실패
                    SendMeg_IDCheck_Fail();
                    break;

                case claCommand.Command.User_Connect:                           //다른 유저가 접속 했다.
                    SendMeg_User_Connect(sData[1]);
                    break;

                case claCommand.Command.User_Disonnect:                         //다른 유저가 접속을 끊었다.
                    SendMeg_User_Disconnect(sData[1]);
                    break;

                case claCommand.Command.User_List:                              //유저 리스트 갱신
                    SendMeg_User_List(sData[1]);
                    break;
                }
            }
        }
示例#3
0
        /// <summary>
        /// 넘어온 데이터를 분석 한다.
        /// </summary>
        /// <param name="sMsg"></param>
        private void MsgAnalysis(string sMsg)
        {
            //구분자로 명령을 구분 한다.
            string[] sData = sMsg.Split(claGlobal.g_Division);

            //데이터 개수 확인
            if ((1 <= sData.Length))
            {
                //0이면 빈메시지이기 때문에 별도의 처리는 없다.

                //넘어온 명령
                claCommand.Command typeCommand
                    = m_insCommand.StrIntToType(sData[0]);

                switch (typeCommand)
                {
                case claCommand.Command.None:                           //없다
                    break;

                case claCommand.Command.Msg:                            //메시지인 경우
                    SendMeg_Main(sData[1], typeCommand);
                    break;

                case claCommand.Command.ID_Check:                               //아이디 체크
                    SendMeg_Main(sData[1], typeCommand);
                    break;

                case claCommand.Command.User_List_Get:                          //유저리스트 갱신 요청
                    SendMeg_Main("", typeCommand);
                    break;

                case claCommand.Command.Login:                          //로그인 완료
                    OnConnected(this);
                    break;
                }
            }
        }
示例#4
0
        /// <summary>
        /// 서버로 메시지를 보냅니다.
        /// </summary>
        /// <param name="sMag"></param>
        private void SendMeg_Main(string sMag, claCommand.Command typeCommand)
        {
            MessageEventArgs e = new MessageEventArgs(sMag, typeCommand);

            OnMessaged(this, e);
        }
 /// <summary>
 /// 메시지 설정
 /// </summary>
 /// <param name="strMsg"></param>
 /// <param name="typeCommand"></param>
 public MessageEventArgs(string strMsg, claCommand.Command typeCommand)
 {
     this.m_strMsg      = strMsg;
     this.m_typeCommand = typeCommand;
 }