⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monitorbasicclass.cs

📁 监控系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
			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 + -