/// <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); }
/// <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); }