?? socketpackage.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 + -