Exemple #1
0
        /// <summary>
        /// UDP 메세지 보내기
        /// </summary>
        /// <param name="userId">파라미터1 : USER_ID</param>
        /// <param name="message">파라미터2 : 수신 메세지</param>
        public bool SendMessage(string userId)
        {
            bool result = false;

            try
            {
                /// 파라미터 만들기
                MessageStream notify =
                    MessageStream.Notice
                    (
                        MessagePacketNameEnum.NTFTM,
                        userId,
                        Config.SYSTEM_PROCESS_ID,
                        NotifyTextMessageType.INBOUND.ToString(),
                        Config.SEND_NOTIFY_TITLE,
                        Config.SEND_NOTIFY_MESSAGE,
                        NotifyTextMessageUrlType.UrlWithFaxboxId_UserId.ToString(),
                        Config.SEND_FAXBOX_URL
                    );

                /// STX, ETX 추가
                byte[] convertBytes = Encoding.Default.GetBytes(notify.ToString());
                byte[] messageBytes = new byte[convertBytes.Length + 2];
                messageBytes[0] = MessageConfiguration.STX;
                messageBytes[messageBytes.Length - 1] = MessageConfiguration.ETX;
                Buffer.BlockCopy(convertBytes, 0, messageBytes, 1, convertBytes.Length);

                /// UDP 보내기
                udpSocket.Send(Config.FAS_IP, Config.FAS_PORT, Encoding.Default.GetString(messageBytes));

                result = true;
            }
            catch (Exception ex)
            {
                udpSocket.LogWriteErr(ex, "UdpSingle()", "UdpSocket()", "SendMessage()");
            }
            return(result);
        }
Exemple #2
0
        /// <summary>
        /// UDP 메세지 보내기
        /// </summary>
        public bool SendMessageEx(DbModule.SEND_REQUEST_DATA_PSO mstrReq, DbModule.SEND_REQUEST_DTL_DATA_PSO dtlReq)
        {
            bool result = false;

            try
            {
                string msg = Config.SEND_NOTIFY_MESSAGE;

                string userName = "";
                if (!string.IsNullOrEmpty(mstrReq.strReqUserName))
                {
                    userName = mstrReq.strReqUserName;
                }
                else
                {
                    userName = mstrReq.strUserName;
                }


                //{FAX_ID},{FAX_DTL_ID},{USER_NAME},{FAX_NO},{RESULT},{CURR_TIME}

                if (msg.Contains("{FAX_ID}"))
                {
                    msg = msg.Replace("{FAX_ID}", string.Format("{0}", dtlReq.faxId));
                }

                if (msg.Contains("{FAX_DTL_ID}"))
                {
                    msg = msg.Replace("{FAX_DTL_ID}", string.Format("{0}", dtlReq.faxDtlId));
                }

                if (msg.Contains("{USER_NAME}"))
                {
                    msg = msg.Replace("{USER_NAME}", userName);
                }

                if (msg.Contains("{FAX_NO}"))
                {
                    msg = msg.Replace("{FAX_NO}", dtlReq.strFaxNo);
                }

                if (msg.Contains("{RESULT}"))
                {
                    msg = msg.Replace("{RESULT}", dtlReq.strResult);
                }

                if (msg.Contains("{CURR_TIME}"))
                {
                    msg = msg.Replace("{CURR_TIME}", string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }


                /// 파라미터 만들기
                MessageStream notify =
                    MessageStream.Notice
                    (
                        MessagePacketNameEnum.NTFTM,
                        mstrReq.strReqUserID,
                        Config.SYSTEM_PROCESS_ID,
                        NotifyTextMessageType.OUTBOUND.ToString(),
                        Config.SEND_NOTIFY_TITLE,
                        msg,
                        NotifyTextMessageUrlType.UrlWithFaxboxId_UserId.ToString(),
                        //NotifyTextMessageUrlType.UrlWithUserId.ToString(),
                        Config.SEND_FAXBOX_URL
                    );

                /// STX, ETX 추가
                byte[] convertBytes = Encoding.Default.GetBytes(notify.ToString());
                byte[] messageBytes = new byte[convertBytes.Length + 2];
                messageBytes[0] = MessageConfiguration.STX;
                messageBytes[messageBytes.Length - 1] = MessageConfiguration.ETX;
                Buffer.BlockCopy(convertBytes, 0, messageBytes, 1, convertBytes.Length);

                /// UDP 보내기
                udpSocket.Send(Config.FAS_IP, Config.FAS_PORT, Encoding.Default.GetString(messageBytes));

                result = true;
            }
            catch (Exception ex)
            {
                udpSocket.LogWriteErr(ex, "UdpSingle()", "UdpSocket()", "SendMessage()");
            }
            return(result);
        }
 /// <summary>
 /// 전문 헤더 읽기 오류
 /// </summary>
 private MessageStream MessageErrorHeader()
 {
     return(MessageStream.Notice(MessagePacketNameEnum.ERRHD, false, "전문 헤더 읽기 오류가 발생하였습니다."));
 }
        ///// <summary>
        ///// 팩스 수신 알림
        ///// </summary>
        //public MessageStream MessageNotifyTextMessage(SocketAsyncEventArgs receiveSendEventArgs)
        //{
        //    return MessageStream.Notice(MessagePacketNameEnum.NTFTM, message);
        //}

        /// <summary>
        /// 중복 로그인 알림
        /// </summary>
        private MessageStream MessageLoginDuplicated(string userId)
        {
            return(MessageStream.Notice(MessagePacketNameEnum.CLOSE, userId, "1"));
        }
 /// <summary>
 /// 접속 수락 응답
 /// </summary>
 public MessageStream MessageAccept()
 {
     return(MessageStream.Notice(MessagePacketNameEnum.ACCPT, true, "성공"));
 }
        /// <summary>
        /// UDP 메세지 보내기
        /// </summary>
        /// <param name="userId">파라미터1 : USER_ID</param>
        /// <param name="message">파라미터2 : 수신 메세지</param>
        public bool SendMessageEx(string userId, DbModule.RECV_FAX_DATA_PSI p_psiData)
        {
            bool result = false;

            try
            {
                string msg = Config.RECV_NOTIFY_MESSAGE;

                //{USER_ID},{DEPT_CD},{DEPT_NAME},{TASK_NAME},{CID},{CID_NAME},{CURR_TIME}

                if (msg.Contains("{USER_ID}"))
                {
                    msg = msg.Replace("{USER_ID}", p_psiData.USER_ID);
                }

                if (msg.Contains("{DEPT_CD}"))
                {
                    msg = msg.Replace("{DEPT_CD}", p_psiData.DEPT_CD);
                }

                if (msg.Contains("{DEPT_NAME}"))
                {
                    msg = msg.Replace("{DEPT_NAME}", p_psiData.DEPT_NAME);
                }

                if (msg.Contains("{TASK_NAME}"))
                {
                    msg = msg.Replace("{TASK_NAME}", p_psiData.TASK_NAME);
                }

                if (msg.Contains("{CID}"))
                {
                    msg = msg.Replace("{CID}", p_psiData.CID);
                }

                if (msg.Contains("{CID_NAME}"))
                {
                    msg = msg.Replace("{CID_NAME}", p_psiData.CID_NAME);
                }

                if (msg.Contains("{CURR_TIME}"))
                {
                    msg = msg.Replace("{CURR_TIME}", string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now));
                }

                /// 파라미터 만들기
                MessageStream notify =
                    MessageStream.Notice
                    (
                        MessagePacketNameEnum.NTFTM,
                        userId,
                        Config.SYSTEM_PROCESS_ID,
                        NotifyTextMessageType.INBOUND.ToString(),
                        Config.RECV_NOTIFY_TITLE,
                        msg,
                        NotifyTextMessageUrlType.UrlWithFaxboxId_UserId.ToString(),
                        //NotifyTextMessageUrlType.UrlWithUserId.ToString(),
                        Config.RECV_FAXBOX_URL
                    );

                /// STX, ETX 추가
                byte[] convertBytes = Encoding.Default.GetBytes(notify.ToString());
                byte[] messageBytes = new byte[convertBytes.Length + 2];
                messageBytes[0] = MessageConfiguration.STX;
                messageBytes[messageBytes.Length - 1] = MessageConfiguration.ETX;
                Buffer.BlockCopy(convertBytes, 0, messageBytes, 1, convertBytes.Length);

                /// UDP 보내기
                udpSocket.Send(Config.FAS_IP, Config.FAS_PORT, Encoding.Default.GetString(messageBytes));

                result = true;
            }
            catch (Exception ex)
            {
                udpSocket.LogWriteErr(ex, "UdpSingle()", "UdpSocket()", "SendMessage()");
            }
            return(result);
        }