📄 monitorbasicclass.cs
字号:
m_NodeReg.Reserve = Reserve;
}
}*/
#endregion
/// <summary>
/// 监控平台类
/// </summary>
public class MonitorPlatform
{
public static MonitorRule[] m_RuleList; //监控规则列表
private int m_PlatformID; //平台ID
private string m_PlatformName; //平台名称
private int m_NodeID; //节点ID
private string m_NodeName; //节点名称
private string m_PlatformRemark; //节点说明
private string m_strIP; //中心IP地址
private int m_iPort; //中心socket通讯端口号
private int m_hostListenPort; //接口侦听端口
private string m_LogFtpPath; //接口监控日志文件上传的FTP路径
private string m_ConfigFtpPath; //接口监控规则的配置文件的FTP路径
private string m_FtpLoginID; //接口FTP帐号
private string m_FtpLoginPwd; //接口FTP登录密码
private string m_CenLogFtpPath; //中心监控日志文件上传的FTP路径
private string m_CenConfigFtpPath; //中心监控规则的配置文件的FTP路径
private string m_CenFtpLoginID; //中心FTP帐号
private string m_CenFtpLoginPwd; //中心FTP登录密码
private string m_LogPath; //监控日志文件本地保存路径
private string m_RulePath; //规则配置文件本地保存路径
private IPAddress m_hostIPAddress;
private IPEndPoint m_Server;
private Socket m_Sock;
private Socket m_SockServer;
private InterRegPlatPackage m_interRegPlat = new InterRegPlatPackage();
private InterRegNodePackage m_interRegNode = new InterRegNodePackage();
private InterRegPlatRespPackage m_interRegPlatResp=new InterRegPlatRespPackage();
private InterRegNodeRespPackage m_interRegNodeResp = new InterRegNodeRespPackage();
private NodeRegPackage m_NodeReg = new NodeRegPackage();
private NodeRegRespPackage m_NodeRegResp = new NodeRegRespPackage();
#region 属性
/// <summary>
/// 平台ID
/// </summary>
public int PlatformID
{
get{return m_PlatformID;}
set{m_PlatformID=value;}
}
/// <summary>
/// 平台名称
/// </summary>
public string PlatformName
{
get{return m_PlatformName;}
set{m_PlatformName=value;}
}
/// <summary>
/// 节点ID
/// </summary>
public int NodeID
{
get{return m_NodeID;}
set{m_NodeID=value;}
}
/// <summary>
/// 节点名称
/// </summary>
public string NodeName
{
get{return m_NodeName;}
set{m_NodeName=value;}
}
/// <summary>
/// 节点说明
/// </summary>
public string PlatformRemark
{
get{return m_PlatformRemark;}
set{m_PlatformRemark=value;}
}
/// <summary>
/// 接口监控日志文件上传的FTP路径
/// </summary>
public string LogFtpPath
{
get{return m_LogFtpPath;}
set{m_LogFtpPath=value;}
}
/// <summary>
/// 接口监控规则的配置文件的FTP路径
/// </summary>
public string ConfigFtpPath
{
get{return m_ConfigFtpPath;}
set{m_ConfigFtpPath=value;}
}
/// <summary>
/// 接口FTP帐号
/// </summary>
public string FtpLoginID
{
get{return m_FtpLoginID;}
set{m_FtpLoginID=value;}
}
/// <summary>
/// 接口FTP登录密码
/// </summary>
public string FtpLoginPwd
{
get{return m_FtpLoginPwd;}
set{m_FtpLoginPwd=value;}
}
/// <summary>
/// 中心监控日志文件上传的FTP路径
/// </summary>
public string CenLogFtpPath
{
get{return m_CenLogFtpPath;}
set{m_CenLogFtpPath=value;}
}
/// <summary>
/// 中心监控规则的配置文件的FTP路径
/// </summary>
public string CenConfigFtpPath
{
get{return m_CenConfigFtpPath;}
set{m_CenConfigFtpPath=value;}
}
/// <summary>
/// 中心FTP帐号
/// </summary>
public string CenFtpLoginID
{
get{return m_CenFtpLoginID;}
set{m_CenFtpLoginID=value;}
}
/// <summary>
/// 中心FTP登录密码
/// </summary>
public string CenFtpLoginPwd
{
get{return m_CenFtpLoginPwd;}
set{m_CenFtpLoginPwd=value;}
}
/// <summary>
/// 中心IP地址
/// </summary>
public string CenIP
{
get{return m_strIP;}
set{m_strIP=value;}
}
/// <summary>
/// 中心端口号
/// </summary>
public int CenPort
{
get{return m_iPort;}
set{m_iPort=value;}
}
/// <summary>
/// 接口侦听端口号
/// </summary>
public int ListenPort
{
get{return m_hostListenPort;}
set{m_hostListenPort=value;}
}
/// <summary>
/// 监控日志文件本地保存路径
/// </summary>
public string LogPath
{
get{return m_LogPath;}
set{m_LogPath=value;}
}
/// <summary>
/// 规则配置文件本地保存路径
/// </summary>
public string RulePath
{
get{return m_RulePath;}
set{m_RulePath=value;}
}
#endregion
public MonitorPlatform()
{
this.m_PlatformID=1;
}
/// <summary>
/// 在监控平台上注册该节点,Socket方式。并将保存平台ID、日志文件上传的FTP路径、监控规则的配置文件路径
/// </summary>
/// <returns>
/// 成功:将配置信息写入对应的成员变量
/// 失败:抛出一个异常
/// </returns>
public void RegPlatform()
{
try
{
m_hostIPAddress=IPAddress.Parse(m_strIP);
}
catch
{
string msg="IP地址格式错误。";
throw new Exception(msg);
}
#region 发送、接收注册信息
try
{
m_Server=new IPEndPoint(m_hostIPAddress,m_iPort);
m_Sock=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
m_Sock.Connect(m_Server);
byte[] ByteSend = new byte[1024];
ByteSend=m_interRegPlat.EncodeSocketPackage();
m_Sock.Send(ByteSend,ByteSend.Length,0);
byte[] ByteRecv=new byte[1024];
m_Sock.Receive(ByteRecv,ByteRecv.Length,0);
m_interRegPlatResp.DecodeSocketPackage(ByteRecv);
m_Sock.Close();
}
catch(Exception ex)
{
string msg=ex.Message;
throw new Exception(msg);
}
#endregion
}
/// <summary>
/// 在监控平台上注册该节点,Socket方式。并将保存平台ID、日志文件上传的FTP路径、监控规则的配置文件路径
/// </summary>
/// <returns>
/// 成功:将配置信息写入对应的成员变量
/// 失败:抛出一个异常
/// </returns>
public void RegPlatformNode()
{
#region 发送、接收注册信息
try
{
m_Server=new IPEndPoint(m_hostIPAddress,m_iPort);
m_Sock=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
m_Sock.Connect(m_Server);
byte[] ByteSend = new byte[1024];
ByteSend=m_interRegNode.EncodeSocketPackage();
m_Sock.Send(ByteSend,ByteSend.Length,0);
byte[] ByteRecv=new byte[1024];
m_Sock.Receive(ByteRecv,ByteRecv.Length,0);
m_interRegNodeResp.DecodeSocketPackage(ByteRecv);
m_Sock.Close();
}
catch(Exception ex)
{
string msg=ex.Message;
throw new Exception(msg);
}
#endregion
}
/// <summary>
/// 在监控平台上注册该节点,Socket方式。并将保存平台ID、日志文件上传的FTP路径、监控规则的配置文件路径
/// </summary>
/// <returns>
/// 成功:将配置信息写入对应的成员变量
/// 失败:抛出一个异常
/// </returns>
public void ReceiveRegNode()
{
#region 接收注册信息
try
{
TcpListener ilistener = new TcpListener(m_hostListenPort);
ilistener.Start();
m_SockServer = ilistener.AcceptSocket();
byte[] ByteRecvServer=new byte[1024];
m_SockServer.Receive(ByteRecvServer,ByteRecvServer.Length,0);
m_NodeReg.DecodeSocketPackage(ByteRecvServer);
m_SockServer.Close();
}
catch(Exception ex)
{
string msg=ex.Message;
throw new Exception(msg);
}
#endregion
}
/// <summary>
/// 在监控平台上注册该节点,Socket方式。并将保存平台ID、日志文件上传的FTP路径、监控规则的配置文件路径
/// </summary>
/// <returns>
/// 成功:将配置信息写入对应的成员变量
/// 失败:抛出一个异常
/// </returns>
public void SendRegNodeResp()
{
#region 发送应答信息
try
{
TcpListener ilistener = new TcpListener(m_hostListenPort);
ilistener.Start();
m_SockServer = ilistener.AcceptSocket();
byte[] ByteSendServer = new byte[1024];
ByteSendServer=m_NodeRegResp.EncodeSocketPackage();
m_SockServer.Send(ByteSendServer,ByteSendServer.Length,0);
m_SockServer.Close();
}
catch(Exception ex)
{
string msg=ex.Message;
throw new Exception(msg);
}
#endregion
}
/// <summary>
/// 在监控平台上注册该节点,Socket方式。并将保存平台ID、日志文件上传的FTP路径、监控规则的配置文件路径
/// </summary>
/// <returns>
/// 成功:将配置信息写入对应的成员变量
/// 失败:抛出一个异常
/// </returns>
public void CenRegPlatform()
{
#region 接收注册信息
try
{
TcpListener ilistener = new TcpListener(m_iPort);
ilistener.Start();
m_SockServer = ilistener.AcceptSocket();
byte[] ByteRecvServer=new byte[1024];
m_SockServer.Receive(ByteRecvServer,ByteRecvServer.Length,0);
m_interRegPlat.DecodeSocketPackage(ByteRecvServer);
byte[] ByteSendServer = new byte[1024];
ByteSendServer=m_interRegPlatResp.EncodeSocketPackage();
m_SockServer.Send(ByteSendServer,ByteSendServer.Length,0);
m_SockServer.Close();
}
catch(Exception ex)
{
string msg=ex.Message;
throw new Exception(msg);
}
#endregion
}
/// <summary>
/// 在监控平台上注册该节点,Socket方式。并将保存平台ID、日志文件上传的FTP路径、监控规则的配置文件路径
/// </summary>
/// <returns>
/// 成功:将配置信息写入对应的成员变量
/// 失败:抛出一个异常
/// </returns>
public void CenRegNode()
{
#region 接收注册信息
try
{
TcpListener ilistener = new TcpListener(m_iPort);
ilistener.Start();
m_SockServer = ilistener.AcceptSocket();
byte[] ByteRecvServer=new byte[1024];
m_SockServer.Receive(ByteRecvServer,ByteRecvServer.Length,0);
m_interRegNode.DecodeSocketPackage(ByteRecvServer);
byte[] ByteSendServer = new byte[1024];
ByteSendServer=m_interRegNodeResp.EncodeSocketPackage();
m_SockServer.Send(ByteSendServer,ByteSendServer.Length,0);
m_SockServer.Close();
}
catch(Exception ex)
{
string msg=ex.Message;
throw new Exception(msg);
}
#endregion
}
//初始化
public void RegInit(char[] HeadFlag,int ContentLength,uint CommandID,char PacketType,int Version,int Encrypt,char[] Reserve)
{
m_interRegPlat.MonitorPlatformID = String.Format("{0,4:0000}",this.PlatformID).ToCharArray(0,4);
m_interRegPlat.MonitorPlatformName = this.PlatformName.ToCharArray(0,64);
m_interRegPlat.MonitorRemark = this.PlatformRemark.ToCharArray(0,128);
m_interRegPlat.HeadFlag = HeadFlag;
m_interRegPlat.ContentLength = ContentLength;
m_interRegPlat.CommandID = CommandID;
m_interRegPlat.PacketType = PacketType;
m_interRegPlat.Version = Version;
m_interRegPlat.Encrypt = Encrypt;
m_interRegPlat.Reserve = Reserve;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -