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

📄 socketpackage.cs

📁 监控系统
💻 CS
字号:
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

namespace MonitorSystem.BasicClass
{
	/// <summary>
	/// SocketPackage 的摘要说明。
	/// </summary>
	[Serializable]
	public class SocketPackageBase
	{
		#region 包头信息
		//protected string m_HeadFlag;
		protected char[] m_HeadFlag = new char[6];
		protected int m_ContentLength;
		protected uint m_CommandID;
		//protected string m_PacketType;
		protected char m_PacketType;
		protected int m_Version;
		protected int m_Encrypt;
		//protected string m_Reserve;
		protected char[] m_Reserve = new char[9];

		public char[] HeadFlag
		{
			get{return m_HeadFlag;}
			set{m_HeadFlag = value;}
		}
		public int ContentLength
		{
			get{return m_ContentLength;}
			set{m_ContentLength = value;}
		}
		public uint CommandID
		{
			get{return m_CommandID;}
			set{m_CommandID = value;}
		}
		public char PacketType
		{
			get{return m_PacketType;}
			set{m_PacketType = value;}
		}
		public int Version
		{
			get{return m_Version;}
			set{m_Version = value;}
		}
		public int Encrypt
		{
			get{return m_Encrypt;}
			set{m_Encrypt = value;}
		}
		public char[] Reserve
		{
			get{return m_Reserve;}
			set{m_Reserve = value;}
		}

		#endregion

		public SocketPackageBase()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}

		/// <summary>
		/// 打包
		/// </summary>
		/// <returns></returns>
		public byte[] EncodeSocketPackage()
		{
			byte[] buffer;
			IFormatter formatter = new BinaryFormatter();
			MemoryStream stream = new MemoryStream();

			try
			{
				buffer=new Byte[1024];
				//pack_header to byte[]
				formatter.Serialize(stream, this);
				buffer = stream.ToArray();
				stream.Close();
			}
			catch(Exception ex)
			{
				string msg = String.Format("信息序列化错误,原因:{0}",ex.Message);
				throw new Exception(msg);
			}

			return buffer;
		}

		/// <summary>
		/// 解包
		/// </summary>
		/// <param name="package"></param>
		/// <returns></returns>
		public virtual int DecodeSocketPackage(byte[] package)
		{
			return -1;
		}

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -