/// <summary> /// EXE로부터 전달받은 메세지를 처리 /// </summary> /// <param name="receiveData"></param> /// <param name="token"></param> public static void Receive(WinMessage_ClientToServer receiveData, HY_AjaxAgent.TokenData token) { AJAX_Response sendData; switch (receiveData.RESULT_COMMAND) { case "workComplete": sendData = new AJAX_Response(receiveData.PARAM); HY_AjaxAgent.sendToWEB(sendData, token); break; case "startSuccess": exeLogging(receiveData.PROCESS_KIND.ToString() + "프로그램 실행 완료 메세지 받음"); break; case "closeProcess": exeLogging(receiveData.PROCESS_KIND.ToString() + "프로그램 종료 메세지"); sendData = new AJAX_Response(new Response_Error("exe close...", "508", "user click exe close before workcomplete.")); HY_AjaxAgent.sendToWEB(sendData, token); break; default: exeLogging("알 수 없는 EXE Command 받음 : " + receiveData.RESULT_COMMAND); break; } }
/// <summary> /// 서버에 성공적으로 종료되었다는 신호를 보낸다. /// </summary> private void sendCloseSignal() { // 종료 신호를 보낸다. string closeProcessCommand = "closeProcess"; WinMessage_ClientToServer closeResponse = new WinMessage_ClientToServer(EXEKIND.TestScan, closeProcessCommand, null); AgentInterface.SendToServer(closeResponse, serverHandle); Log.Instance.SetLogLevel(string.Format("# Send To Server\n\tCommand : {0}\n\tParam : ", closeProcessCommand, "")); }
/// <summary> /// 서버에 성공적으로 실행되었다는 신호를 보낸다. /// </summary> private void sendStartSignal() { string startSuccessCommand = "startSuccess"; WinMessage_ClientToServer successResponse = new WinMessage_ClientToServer(EXEKIND.TestScan, startSuccessCommand, null); AgentInterface.SendToServer(successResponse, serverHandle); Log.Instance.SetLogLevel(string.Format("# Send To Server\n\tCommand : {0}\n\tParam : ", startSuccessCommand, "")); }
/// <summary> /// 서버로 데이터를 전송합니다. /// </summary> /// <param name="sendServerData">서버 데이터</param> /// <param name="serverHandle">서버 핸들</param> public static void SendToServer(WinMessage_ClientToServer sendServerData, IntPtr serverHandle) { string sendMsg = Json.ToString(sendServerData); byte[] buff = System.Text.Encoding.Default.GetBytes(sendMsg); Win32API.COPYDATASTRUCT cds = new Win32API.COPYDATASTRUCT(); cds.dwData = IntPtr.Zero; cds.cbData = buff.Length + 1; cds.lpData = sendMsg; Win32API.SendMessage(serverHandle, Win32API.WM_COPYDATA, 0, ref cds); }
private void btn_Save_Click(object sender, EventArgs e) { if (img == null) { MessageBox.Show(this, "이미지를 가져와야 합니다."); return; } string filePath = img.FilePath; if (!File.Exists(filePath)) { MessageBox.Show(this, "이미지가 존재하지 않습니다."); return; } string imgbinary_base64 = Encode.ImgBinaryToBase64String(filePath); SendParam sendParam = new SendParam(img.ScanDate, filePath, imgbinary_base64); WinMessage_ClientToServer workCompleteResponse = new WinMessage_ClientToServer(EXEKIND.TestScan, "workComplete", sendParam); AgentInterface.SendToServer(workCompleteResponse, serverHandle); }