[성현모] Svn 업데이트 받기

This commit is contained in:
SHM
2025-07-11 09:21:30 +09:00
parent 6e462ca991
commit f0c63da29d
22 changed files with 364 additions and 847 deletions

View File

@ -772,7 +772,7 @@ namespace SystemX.Net.MiddlewareUI
this.IconOptions.Image = global::SystemX.Net.MiddlewareUI.Log.Properties.Resources.AppIcon1; this.IconOptions.Image = global::SystemX.Net.MiddlewareUI.Log.Properties.Resources.AppIcon1;
this.Name = "MainForm"; this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "SystemX.Net.Middleware.UI - Log CPXV2-JSON v240912"; this.Text = "SystemX.Net.Middleware.UI - Log CPXV2-JSON";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized; this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);

View File

@ -46,6 +46,7 @@ using System.Collections.Concurrent;
using SystemX.Net.Comm.IIS_FTP; using SystemX.Net.Comm.IIS_FTP;
using SystemX.Net.Platform.SystemX.Net.XEFCore.DBContext.CPXV2LogJson; using SystemX.Net.Platform.SystemX.Net.XEFCore.DBContext.CPXV2LogJson;
using SystemX.Net.Platform.SystemX.Net.XEFCore; using SystemX.Net.Platform.SystemX.Net.XEFCore;
using System.Reflection;
namespace SystemX.Net.MiddlewareUI namespace SystemX.Net.MiddlewareUI
{ {
@ -264,9 +265,15 @@ namespace SystemX.Net.MiddlewareUI
InitializeComponent(); InitializeComponent();
AssemblyName assemblyName = Assembly.GetExecutingAssembly().GetName();
Version assemblyVersion = assemblyName.Version;
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
@"Use CP-Server[X] Middleware [LOG] Version for [CPXV2][v240912] " + @"Use CP-Server[X] Middleware [LOG] Version for [CPXV2][" + assemblyVersion.ToString() + "] " +
"[SystemX.Net.Middleware.Log : MainForm]", ConsoleColor.Green, LogMessageLevel.FATAL); "[SystemX.Net.Middleware.Log : MainForm]", ConsoleColor.Green, LogMessageLevel.FATAL);
this.Text += " " + assemblyVersion.ToString();
// //
EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED); EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);

View File

@ -4,13 +4,13 @@ using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("SystemX.Net.MiddlewareUI")] [assembly: AssemblyTitle("SystemX.Net.MiddlewareUI.Log")]
[assembly: AssemblyDescription("SystemX")] [assembly: AssemblyDescription("CPX Middleware Log")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("SystemX")] [assembly: AssemblyCompany("SystemX")]
[assembly: AssemblyProduct("SystemX.Net.MiddlewareUI")] [assembly: AssemblyProduct("SystemX.Net.MiddlewareUI.Log")]
[assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
[assembly: AssemblyTrademark("CP-ServerX")] [assembly: AssemblyTrademark("CPX Middleware")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible // Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from // to COM components. If you need to access a type in this assembly from
@ -28,5 +28,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("20.22.11.29")] [assembly: AssemblyVersion("2025.05.15.0001")]
[assembly: AssemblyFileVersion("20.22.11.29")] [assembly: AssemblyFileVersion("2025.05.15.0001")]

View File

@ -523,7 +523,7 @@ namespace SystemX.Net.MiddlewareUI
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("MainForm.IconOptions.Icon"))); this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("MainForm.IconOptions.Icon")));
this.Name = "MainForm"; this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "SystemX.Net.Middleware.UI - CPXV2-JSON v240829"; this.Text = "SystemX.Net.Middleware.UI - CPXV2-JSON";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized; this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);

View File

@ -47,6 +47,7 @@ using static SystemX.Net.DB.XDBConnManager;
using SystemX.Net.Middleware.Commons; using SystemX.Net.Middleware.Commons;
using SystemX.Net.Platform.SystemX.Common; using SystemX.Net.Platform.SystemX.Common;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Reflection;
namespace SystemX.Net.MiddlewareUI namespace SystemX.Net.MiddlewareUI
{ {
@ -286,10 +287,16 @@ namespace SystemX.Net.MiddlewareUI
{ {
InitializeComponent(); InitializeComponent();
AssemblyName assemblyName = Assembly.GetExecutingAssembly().GetName();
Version assemblyVersion = assemblyName.Version;
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
@"Use CP-Server[X] Middleware Version for [CPXV2][v240829] " + @"Use CP-Server[X] Middleware Version for [CPXV2][" + assemblyVersion.ToString() + "] " +
"[SystemX.Net.MiddlewareUI : MainForm]", ConsoleColor.Green, LogMessageLevel.FATAL); "[SystemX.Net.MiddlewareUI : MainForm]", ConsoleColor.Green, LogMessageLevel.FATAL);
this.Text += " " + assemblyVersion.ToString();
EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED); EnableMenuItem(GetSystemMenu(this.Handle, false), SC_CLOSE, MF_GRAYED);
ConsoleUtil.ConsoleHide(); ConsoleUtil.ConsoleHide();

View File

@ -4,13 +4,13 @@ using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("SystemX.Net.MiddlewareUI")] [assembly: AssemblyTitle("SystemX.Net.MiddlewareUI.UIM")]
[assembly: AssemblyDescription("SystemX")] [assembly: AssemblyDescription("CPX Middleware UIM")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("SystemX")] [assembly: AssemblyCompany("SystemX")]
[assembly: AssemblyProduct("SystemX.Net.MiddlewareUI")] [assembly: AssemblyProduct("SystemX.Net.MiddlewareUI.UIM")]
[assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
[assembly: AssemblyTrademark("CP-ServerX")] [assembly: AssemblyTrademark("CPX Middleware")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible // Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from // to COM components. If you need to access a type in this assembly from
@ -28,5 +28,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("20.22.11.29")] [assembly: AssemblyVersion("2025.05.15.0001")]
[assembly: AssemblyFileVersion("20.22.11.29")] [assembly: AssemblyFileVersion("2025.05.15.0001")]

View File

@ -81,11 +81,6 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
bUseExist = Parent_.GetConnectInfoFindHost(strGetHostID, strGetSection, bGetUseUIM); bUseExist = Parent_.GetConnectInfoFindHost(strGetHostID, strGetSection, bGetUseUIM);
bExistInformation = (drFindInfo != null ? drFindInfo.Count() > 0 : false); bExistInformation = (drFindInfo != null ? drFindInfo.Count() > 0 : false);
if(drFindInfo == null)
{
;//
}
} }
if (bExistInformation || if (bExistInformation ||
@ -104,7 +99,7 @@ namespace SystemX.Net.MiddlewareUI.UIM.Protocol_Method
strConnectIP = thisConnInfo.strCommandEndPointInfo; strConnectIP = thisConnInfo.strCommandEndPointInfo;
//TODO : For Test Server Code //TODO : For Test Server Code
if (/* true || */ strConnectIP.IndexOf(strRegIP) >= 0 || bGetUseUIM) if (true || strConnectIP.IndexOf(strRegIP) >= 0 || bGetUseUIM)
{ {
;//IP Address Compare Result PASS ;//IP Address Compare Result PASS
} }

View File

@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 // 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요. // 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("SystemX.Net.XAdaptor.PC")] [assembly: AssemblyTitle("SystemX.Net.XAdaptor.PC")]
[assembly: AssemblyDescription("For Middleware connect dll(XAdaptor.PC)")] [assembly: AssemblyDescription("CPX Adaptor")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("SystemX")] [assembly: AssemblyCompany("SystemX")]
[assembly: AssemblyProduct("SystemX.Net.XAdaptor.PC")] [assembly: AssemblyProduct("SystemX.Net.XAdaptor.PC")]
[assembly: AssemblyCopyright("SystemX Copyright © 2020")] [assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
[assembly: AssemblyTrademark("SystemX.Net")] [assembly: AssemblyTrademark("CPX Adaptor")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 // ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다. // 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("2025.05.15.0001")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("2025.05.15.0001")]

View File

@ -186,6 +186,8 @@ namespace SystemX.Net.XAdaptor
LoginKEY = string.Empty; LoginKEY = string.Empty;
ServerTestListLoadState = false; ServerTestListLoadState = false;
ControlFTP = null;
} }
// TODO : FTP ALIS // TODO : FTP ALIS

View File

@ -6,6 +6,7 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
using System.Reflection;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading; using System.Threading;
@ -29,8 +30,12 @@ namespace SystemX.Net.XAdaptor.Manager
public XAdaptorManager(string strConfigFilePos = "") public XAdaptorManager(string strConfigFilePos = "")
{ {
AssemblyName assemblyName = Assembly.GetExecutingAssembly().GetName();
Version assemblyVersion = assemblyName.Version;
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
@"Use CP-Server[X] Adaptor Version for [CPXV2][v240829] " + @"Use CP-Server[X] Adaptor Version for [CPXV2][" + assemblyVersion.ToString() + "] " +
"[SystemX.Net.XAdaptor.Manager : XAdaptorManager]", ConsoleColor.Green, LogMessageLevel.FATAL); "[SystemX.Net.XAdaptor.Manager : XAdaptorManager]", ConsoleColor.Green, LogMessageLevel.FATAL);
strCreateConfigFilePos = string.Empty; strCreateConfigFilePos = string.Empty;
@ -183,10 +188,17 @@ namespace SystemX.Net.XAdaptor.Manager
return GetAdaptorHandler.StateFTP; return GetAdaptorHandler.StateFTP;
} }
private eFTPServiceStatus StartFTP() private eFTPServiceStatus CheckFTP()
{
for (int n = 0; n < 3; n++)
{ {
GetAdaptorHandler.StateFTP = xAdaptor.StartFTPService(); GetAdaptorHandler.StateFTP = xAdaptor.StartFTPService();
if (GetAdaptorHandler.StateFTP == eFTPServiceStatus.Connected)
break;
if (GetAdaptorHandler.StateFTP == eFTPServiceStatus.Unused)
break;
}
return GetAdaptorHandler.StateFTP; return GetAdaptorHandler.StateFTP;
} }
@ -202,7 +214,7 @@ namespace SystemX.Net.XAdaptor.Manager
} }
// TODO : FTP ALIS // TODO : FTP ALIS
StartFTP(); CheckFTP();
xAdaptor.ConnectStartStyleAuto = true; xAdaptor.ConnectStartStyleAuto = true;
@ -232,7 +244,7 @@ namespace SystemX.Net.XAdaptor.Manager
} }
// TODO : FTP ALIS // TODO : FTP ALIS
StartFTP(); CheckFTP();
xAdaptor.ConnectStartStyleAuto = false; xAdaptor.ConnectStartStyleAuto = false;

View File

@ -479,51 +479,6 @@ namespace SystemX.Net.XAdaptor.PC
} }
} }
} }
//
/*
if (START_EVENT_TRIGGER[0])
{
START_EVENT_TRIGGER[0] = false;
//CommandConnectAlarmEvent?.BeginInvoke(null, null, null, null);
//CommandConnectAlarmEvent?.Invoke(null, null);
OnCommandConnectAlarm(null, null);
}
if (START_EVENT_TRIGGER[1])
{
START_EVENT_TRIGGER[1] = false;
//StreamConnectAlarmEvent?.BeginInvoke(null, null, null, null);
//StreamConnectAlarmEvent?.Invoke(null, null);
OnStreamConnectAlarm(null, null);
}
*/
//
/*
//Command Stream Conn Check
if (StateClientSocketConnect == false)
goto ROUTINE_OUT;
if (thisConnInfo.stCommandCheckTime.ElapsedMilliseconds >= 60000)
{
SendCommandConnectState();
thisConnInfo.OnCommandCheckTime();
}
//
if (StateClientStreamSocketConnect == false)
goto ROUTINE_OUT;
if (thisConnInfo.stStreamCheckTime.ElapsedMilliseconds >= 60000)
{
SendStreamConnectState();
thisConnInfo.OnStreamCheckTime();
}
ROUTINE_OUT:
*/
} }
} }
@ -579,7 +534,9 @@ namespace SystemX.Net.XAdaptor.PC
// //
if (StateAdaptorConnect) if (StateAdaptorConnect)
{ {
;// //if (StateClientAutoConnect)
{
}
} }
// //
thisConnInfo.OnCommandTime(); thisConnInfo.OnCommandTime();
@ -612,8 +569,13 @@ namespace SystemX.Net.XAdaptor.PC
return eFTPServiceStatus.Disconnected; return eFTPServiceStatus.Disconnected;
} }
else else
{
if (ControlFTP != null)
ControlFTP.FTPConnState = false;
return eFTPServiceStatus.Unused; return eFTPServiceStatus.Unused;
} }
}
public DataSet WaitSystemQuery(string strQuery) public DataSet WaitSystemQuery(string strQuery)
{ {

View File

@ -314,54 +314,6 @@ namespace SystemX.Net.XAdaptor.PC
AsyncResult result = (AsyncResult)ar; AsyncResult result = (AsyncResult)ar;
} }
/*
private void WaitTskJoin(WaitParameter wp, PacketFlowControl getPF, byte ucGetLabel, bool bUseDataSet = true, long lTimeOut = COMMAND_TIME_OUT)
{
wp.Init(getPF);
Thread t = new Thread(delegate () {
QueryResult.Initialize();
QueryResult.xData = wp.TskCheckResult(ucGetLabel, lTimeOut);
if (QueryResult.xData != null)
{
QueryResult.bQueryResult = QueryResult.xData.bReplayResult;
if (bUseDataSet)
QueryResult.QueryDataSet = QueryResult.xData.objData as DataSet;
else
{
QueryResult.QueryDataSet = null;
if (QueryResult.xData.objData is TRANSFER_PACKET)
{
TRANSFER_PACKET TransferResult = (TRANSFER_PACKET)QueryResult.xData.objData;
byte ucCheckLabel = QueryResult.xData.nLabel;
QueryResult.bFileRecvResult = TransferResult.bRecvResult;
QueryResult.bFileProcessResult = TransferResult.bProcessResult;
}
else if (QueryResult.xData.objData is COMM_INFO_PACKET)
{
COMM_INFO_PACKET Result = (COMM_INFO_PACKET)QueryResult.xData.objData;
byte ucCheckLabel = QueryResult.xData.nLabel;
}
}
QueryResult.strVarParam1 = QueryResult.xData.HeaderPacket.objVarParam1[0].Data;
QueryResult.strVarParam2 = QueryResult.xData.HeaderPacket.objVarParam2[0].Data;
QueryResult.strVarParam3 = QueryResult.xData.HeaderPacket.objVarParam3[0].Data;
}
else
getPF.STM.ClearLabel(ucGetLabel);
});
t.Start();
t.Join();
}
*/
private void WaitThreadJoin(WaitParameter wp, PacketFlowControl getPF, byte ucGetLabel, bool bUseDataSet = true, long lTimeOut = COMMAND_TIME_OUT) private void WaitThreadJoin(WaitParameter wp, PacketFlowControl getPF, byte ucGetLabel, bool bUseDataSet = true, long lTimeOut = COMMAND_TIME_OUT)
{ {
wp.Init(getPF); wp.Init(getPF);
@ -532,42 +484,6 @@ namespace SystemX.Net.XAdaptor.PC
fc = getFc; fc = getFc;
} }
/*
public XData TskCheckResult(byte nCheckLabel, long lTimeOut = COMMAND_TIME_OUT)
{
XData getXData = null;
bool bWaitLabel = false;
if (nCheckLabel < 0 || nCheckLabel >= fc.STM.GetLabelSize())
return getXData;
Stopwatch stWaitTImeWatch = new Stopwatch();
stWaitTImeWatch.Start();
while (true)
{
if (stWaitTImeWatch.ElapsedMilliseconds >= lTimeOut)
break;
if (nSignaled == 1)
{
getXData = fc.STM.CheckLabel(nCheckLabel, ref bWaitLabel);
if (bWaitLabel)
{
tResult = true;
break;
}
}
Thread.Sleep(1);
}
return getXData;
}
*/
public XData ThreadWaitResult(byte nCheckLabel, long lTimeOut = COMMAND_TIME_OUT) public XData ThreadWaitResult(byte nCheckLabel, long lTimeOut = COMMAND_TIME_OUT)
{ {
XData getXData = null; XData getXData = null;

View File

@ -831,13 +831,29 @@ QUERY_TESTLIST:
// TODO : FTP ALIS // TODO : FTP ALIS
if (LoadInfo.FTP_Use) if (LoadInfo.FTP_Use)
{ {
if(ControlFTP.FTPConnState) if (ControlFTP.FTPConnState == false)
{ {
for (int n = 0; n < 3; n++)
{
StateFTP = StartFTPService();
//^_^
if (StateFTP == Comm.IIS_FTP.eFTPServiceStatus.Connected)
break;
if (StateFTP == Comm.IIS_FTP.eFTPServiceStatus.Unused)
break;
if (ControlFTP.FTPConnState)
break;
}
}
string strSetSendFTPInfo = strSetBackupInfo; string strSetSendFTPInfo = strSetBackupInfo;
strSetSendFTPInfo += (";" + LoadInfo.HOST_ID); strSetSendFTPInfo += (";" + LoadInfo.HOST_ID);
strSetSendFTPInfo += (";" + LoadInfo.SECTION); strSetSendFTPInfo += (";" + LoadInfo.SECTION);
if (ControlFTP.FTPConnState)
{
XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Try"); XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Try");
string strSetFilePos = MakeZipIncludeInfoCpLog(strSetSendFTPInfo, strSetBackupFilePos, strSetBackupFileName, ucSetBackupFileData); string strSetFilePos = MakeZipIncludeInfoCpLog(strSetSendFTPInfo, strSetBackupFilePos, strSetBackupFileName, ucSetBackupFileData);
@ -848,6 +864,7 @@ QUERY_TESTLIST:
if (File.Exists(strSetFilePos)) if (File.Exists(strSetFilePos))
File.Delete(strSetFilePos); File.Delete(strSetFilePos);
//string strGetFileName = Path.GetFileName(strSetFilePos); //string strGetFileName = Path.GetFileName(strSetFilePos);
//string ss = await ControlFTP.FileDownload(strGetFileName, @"D:\"); //string ss = await ControlFTP.FileDownload(strGetFileName, @"D:\");
@ -857,8 +874,18 @@ QUERY_TESTLIST:
{ {
XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Result>Failed"); XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Result>Failed");
XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Try By Socket"); XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Try By Socket");
//실패시 Socket File 전송
//
} }
} }
else
{
XAdaptorFileLogWrite(eSetFileLogCategory.FTPFileLog, strYYYY, strMM, strdd, strSetSendFTPInfo, strSetBackupFileName, "LogFileSend[FTP]>Disconnect State. Please Check FTP State!");
//실패시 Socket File 전송
//
}
} }
try try

View File

@ -98,36 +98,6 @@ namespace SystemX.Net.XAdaptor.PC
return bSetResult; return bSetResult;
} }
/*
private async void ClientCommandConnect()
{
dbNgCodeFinder = null;
ConnectCommandWaitEvent.Reset();
StateAdaptorConnect &= ClientCommandSet(SOCKET_TYPE.TCP, false);
if (ConnectCommandWaitEvent.WaitOne(CONNECT_TIME_OUT))
SetCommandWatchTask();
else
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @"SystemX.Net.XAdaptor.PC Command Connect Error.[SystemX.Net.PCAdaptor : XPCAdaptor.XPCAdaptor]", ConsoleColor.Red, LogMessageLevel.DEBUG);
await Task.Delay(1).ConfigureAwait(false);
}
private async void ClientStreamConnect()
{
ConnectStreamWaitEvent.Reset();
StateAdaptorConnect &= ClientStreamSet(SOCKET_TYPE.TCP, false);
if (ConnectStreamWaitEvent.WaitOne(CONNECT_TIME_OUT))
SetStreamWatchTask();
else
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @"SystemX.Net.XAdaptor.PC Stream Connect Error.[SystemX.Net.PCAdaptor : XPCAdaptor.XPCAdaptor]", ConsoleColor.Red, LogMessageLevel.DEBUG);
await Task.Delay(1).ConfigureAwait(false);
}
*/
private void ClearCommandClientInstance() private void ClearCommandClientInstance()
{ {
if (FlowCommandControl != null) if (FlowCommandControl != null)
@ -214,6 +184,10 @@ namespace SystemX.Net.XAdaptor.PC
Random r = new Random(Guid.NewGuid().GetHashCode()); Random r = new Random(Guid.NewGuid().GetHashCode());
nPortNumber = GetDistributionPort(r, nPortNumber); nPortNumber = GetDistributionPort(r, nPortNumber);
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") +
@"Get Distribution Port Number " + nPortNumber.ToString("D4") + " [SystemX.Net.XAdaptor.PC : ClientCommandSet]\r\n",
ConsoleColor.Yellow, LogMessageLevel.DEBUG);
} }
try try

File diff suppressed because it is too large Load Diff

View File

@ -6,12 +6,12 @@ using System.Runtime.InteropServices;
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 // 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요. // 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("SystemX.Net.XAdaptor.PC.UI")] [assembly: AssemblyTitle("SystemX.Net.XAdaptor.PC.UI")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("CPX Adaptor UI")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("SystemX")]
[assembly: AssemblyProduct("SystemX.Net.XAdaptor.PC.UI")] [assembly: AssemblyProduct("SystemX.Net.XAdaptor.PC.UI")]
[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("CPX Adaptor UI")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 // ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다. // 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("2025.05.15.0001")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("2025.05.15.0001")]

View File

@ -6,12 +6,12 @@ using System.Runtime.InteropServices;
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 // 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요. // 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("SystemX.Net.Platform")] [assembly: AssemblyTitle("SystemX.Net.Platform")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("CPX Platform")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("SystemX")]
[assembly: AssemblyProduct("SystemX.Net.Platform")] [assembly: AssemblyProduct("SystemX.Net.Platform")]
[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("CPX Platform")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 // ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다. // 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("2025.05.15.0001")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("2025.05.15.0001")]

View File

@ -679,23 +679,13 @@ namespace SystemX.Net.Comm
if (nReadSize != 0) if (nReadSize != 0)
{ {
byte[] ucFindData = new byte[1]; byte[] ucFindData = new byte[1];
//byte[] ucSetClearArray;
int iFindDataCnt = 0; int iFindDataCnt = 0;
//bool bSegmentFind = false;
bool bDataFind = false; bool bDataFind = false;
byte ucGetLabel = 0; byte ucGetLabel = 0;
try try
{ {
/*
Array.Copy(recvBuffer, 0, recvStoreBuffer, iStoreCnt, nReadSize);
iStoreCnt += nReadSize;
*/
if (bQueuePacketClearOn) if (bQueuePacketClearOn)
{ {
bQueuePacketClearOn = false; bQueuePacketClearOn = false;
@ -795,90 +785,10 @@ namespace SystemX.Net.Comm
} }
QPacketRemainData.Clear(); QPacketRemainData.Clear();
//recvText += Encoding.Unicode.GetString(recvBuffer, 0, nReadSize);
/*
for (int i = 0; i < iStoreCnt; i++)
{
if (recvStoreBuffer[i] == 0x0D &&
recvStoreBuffer[i + 1] == 0x02 &&
recvStoreBuffer[i + 6] == 0x08 &&
recvStoreBuffer[i + 7] == 0x0A)
{
ucGetLabel = recvStoreBuffer[i - 1];
uint uiGetPacketSize = 0x0;
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 2] << 24);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 3] << 16);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 4] << 8);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 5] << 0);
int iGetSize = (int)uiGetPacketSize;
iGetSize += XCommons.PAD_SIZE;
if (recvStoreBuffer[i + iGetSize - 4] == 0x0D &&
recvStoreBuffer[i + iGetSize - 3] == 0x02 &&
recvStoreBuffer[i + iGetSize - 2] == 0x08 &&
recvStoreBuffer[i + iGetSize - 1] == 0x0A)
{
iFindDataCnt = iGetSize;
bSegmentFind = true;
}
if (bSegmentFind)
{
iCheckRetryCnt = 0;
ucFindData = new byte[iFindDataCnt];
ucSetClearArray = new byte[(iFindDataCnt + 1)];
Array.Clear(ucSetClearArray, 0, (iFindDataCnt + 1));
Array.Copy(recvStoreBuffer, i, ucFindData, 0, iFindDataCnt);
iStoreCnt -= (iFindDataCnt + 1);
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, (iFindDataCnt + 1));
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
bDataFind = true;
break;
}
else
{
iCheckRetryCnt++;
if (iCheckRetryCnt > MAX_CHECK_COUNT)
{
iCheckRetryCnt = 0;
ucSetClearArray = new byte[iFindDataCnt];
Array.Clear(ucSetClearArray, 0, iFindDataCnt);
iStoreCnt -= iFindDataCnt;
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, iFindDataCnt);
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
}
break;
}
}
}
*/
} }
catch (Exception e) catch (Exception e)
{ {
bDataFind = false; bDataFind = false;
/*
iStoreCnt = 0;
if(recvStoreBuffer != null) Array.Clear(recvStoreBuffer, 0, recvStoreBuffer.Count());
*/
} }
if (bDataFind) if (bDataFind)

View File

@ -610,23 +610,13 @@ namespace SystemX.Net.Comm
if (nReadSize != 0) if (nReadSize != 0)
{ {
byte[] ucFindData = new byte[1]; byte[] ucFindData = new byte[1];
//byte[] ucSetClearArray;
int iFindDataCnt = 0; int iFindDataCnt = 0;
//bool bSegmentFind = false;
bool bDataFind = false; bool bDataFind = false;
byte ucGetLabel = 0; byte ucGetLabel = 0;
try try
{ {
/*
Array.Copy(recvBuffer, 0, recvStoreBuffer, iStoreCnt, nReadSize);
iStoreCnt += nReadSize;
*/
if (bQueuePacketClearOn) if (bQueuePacketClearOn)
{ {
bQueuePacketClearOn = false; bQueuePacketClearOn = false;
@ -726,90 +716,10 @@ namespace SystemX.Net.Comm
} }
QPacketRemainData.Clear(); QPacketRemainData.Clear();
//recvText += Encoding.Unicode.GetString(recvBuffer, 0, nReadSize);
/*
for (int i = 0; i < iStoreCnt; i++)
{
if (recvStoreBuffer[i] == 0x0D &&
recvStoreBuffer[i + 1] == 0x02 &&
recvStoreBuffer[i + 6] == 0x08 &&
recvStoreBuffer[i + 7] == 0x0A)
{
ucGetLabel = recvStoreBuffer[i - 1];
uint uiGetPacketSize = 0x0;
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 2] << 24);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 3] << 16);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 4] << 8);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 5] << 0);
int iGetSize = (int)uiGetPacketSize;
iGetSize += XCommons.PAD_SIZE;
if (recvStoreBuffer[i + iGetSize - 4] == 0x0D &&
recvStoreBuffer[i + iGetSize - 3] == 0x02 &&
recvStoreBuffer[i + iGetSize - 2] == 0x08 &&
recvStoreBuffer[i + iGetSize - 1] == 0x0A)
{
iFindDataCnt = iGetSize;
bSegmentFind = true;
}
if (bSegmentFind)
{
iCheckRetryCnt = 0;
ucFindData = new byte[iFindDataCnt];
ucSetClearArray = new byte[(iFindDataCnt + 1)];
Array.Clear(ucSetClearArray, 0, (iFindDataCnt + 1));
Array.Copy(recvStoreBuffer, i, ucFindData, 0, iFindDataCnt);
iStoreCnt -= (iFindDataCnt + 1);
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, (iFindDataCnt + 1));
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
bDataFind = true;
break;
}
else
{
iCheckRetryCnt++;
if (iCheckRetryCnt > MAX_CHECK_COUNT)
{
iCheckRetryCnt = 0;
ucSetClearArray = new byte[iFindDataCnt];
Array.Clear(ucSetClearArray, 0, iFindDataCnt);
iStoreCnt -= iFindDataCnt;
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, iFindDataCnt);
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
}
break;
}
}
}
*/
} }
catch (Exception e) catch (Exception e)
{ {
bDataFind = false; bDataFind = false;
/*
iStoreCnt = 0;
if (recvStoreBuffer != null) Array.Clear(recvStoreBuffer, 0, recvStoreBuffer.Count());
*/
} }
if (bDataFind) if (bDataFind)

View File

@ -721,20 +721,12 @@ namespace SystemX.Net.Comm
byte[] ucSetClearArray; byte[] ucSetClearArray;
int iFindDataCnt = 0; int iFindDataCnt = 0;
bool bSegmentFind = false;
bool bDataFind = false; bool bDataFind = false;
byte ucGetLabel = 0; byte ucGetLabel = 0;
try try
{ {
/*
Array.Copy(recvBuffer, 0, recvStoreBuffer, iStoreCnt, nReadSize);
iStoreCnt += nReadSize;
*/
if(bQueuePacketClearOn) if(bQueuePacketClearOn)
{ {
bQueuePacketClearOn = false; bQueuePacketClearOn = false;
@ -834,90 +826,10 @@ namespace SystemX.Net.Comm
} }
QPacketRemainData.Clear(); QPacketRemainData.Clear();
//recvText += Encoding.Unicode.GetString(recvBuffer, 0, nReadSize);
/*
for (int i = 0; i < iStoreCnt; i++)
{
if (recvStoreBuffer[i] == 0x0D &&
recvStoreBuffer[i + 1] == 0x02 &&
recvStoreBuffer[i + 6] == 0x08 &&
recvStoreBuffer[i + 7] == 0x0A)
{
ucGetLabel = recvStoreBuffer[i - 1];
uint uiGetPacketSize = 0x0;
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 2] << 24);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 3] << 16);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 4] << 8);
uiGetPacketSize |= (uint)(recvStoreBuffer[i + 5] << 0);
int iGetSize = (int)uiGetPacketSize;
iGetSize += XCommons.PAD_SIZE;
if (recvStoreBuffer[i + iGetSize - 4] == 0x0D &&
recvStoreBuffer[i + iGetSize - 3] == 0x02 &&
recvStoreBuffer[i + iGetSize - 2] == 0x08 &&
recvStoreBuffer[i + iGetSize - 1] == 0x0A)
{
iFindDataCnt = iGetSize;
bSegmentFind = true;
}
if (bSegmentFind)
{
iCheckRetryCnt = 0;
ucFindData = new byte[iFindDataCnt];
ucSetClearArray = new byte[(iFindDataCnt + 1)];
Array.Clear(ucSetClearArray, 0, (iFindDataCnt + 1));
Array.Copy(recvStoreBuffer, i, ucFindData, 0, iFindDataCnt);
iStoreCnt -= (iFindDataCnt + 1);
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, (iFindDataCnt + 1));
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
bDataFind = true;
break;
}
else
{
iCheckRetryCnt++;
if (iCheckRetryCnt > MAX_CHECK_COUNT)
{
iCheckRetryCnt = 0;
ucSetClearArray = new byte[iFindDataCnt];
Array.Clear(ucSetClearArray, 0, iFindDataCnt);
iStoreCnt -= iFindDataCnt;
Buffer.BlockCopy(ucSetClearArray, 0, recvStoreBuffer, 0, iFindDataCnt);
Buffer.BlockCopy(recvStoreBuffer, iStoreCnt, recvStoreBuffer, 0, USER_MAX_SIZE - iStoreCnt);
}
break;
}
}
}
*/
} }
catch (Exception e) catch (Exception e)
{ {
bDataFind = false; bDataFind = false;
/*
iStoreCnt = 0;
if (recvStoreBuffer != null) Array.Clear(recvStoreBuffer, 0, recvStoreBuffer.Count());
*/
} }
// //
if (bDataFind) if (bDataFind)

View File

@ -6,12 +6,12 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("SystemX.PLC")] [assembly: AssemblyTitle("SystemX.PLC")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("CPX PLC")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("SystemX")]
[assembly: AssemblyProduct("SystemX.PLC")] [assembly: AssemblyProduct("SystemX.PLC")]
[assembly: AssemblyCopyright("Copyright © 2020")] [assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("CPX PLC")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible // Setting ComVisible to false makes the types in this assembly not visible
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("2025.05.15.0001")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("2025.05.15.0001")]

View File

@ -6,12 +6,12 @@ using System.Runtime.InteropServices;
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 // 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요. // 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("SystemX.XEFCore")] [assembly: AssemblyTitle("SystemX.XEFCore")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("CPX XEFCore")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("SystemX")]
[assembly: AssemblyProduct("SystemX.XEFCore")] [assembly: AssemblyProduct("SystemX.XEFCore")]
[assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyCopyright("© 2025 SystemX Co., Ltd. All rights reserved.")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("CPX XEFCore")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 // ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다. // 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("2025.05.15.0001")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("2025.05.15.0001")]