//申请调用密码处理方法 PassWordTransForm passWordTransForm=new PassWordTransForm(); //将密码进行处理,处理后密码被转为一个16进制的byte[]数组 byte[]passWordBytes=passWordTransForm.PassWordStringToBytes(this.PassWord); //将处理后的密码数组打包进去 int i = 0; for (i = 10; i <=passWordBytes.Length+10;i++ ) { pack[i] = passWordBytes[0]; }
public virtual MemoryStream Pack()
{
byte[] pack = new byte[8];
pack[0] = Convert.ToByte(MsgConst.StartCode);
pack[1] = Convert.ToByte(this.DataLen);
pack[2] = Convert.ToByte(MsgConst.StartCode);
pack[3] = Convert.ToByte(this.RegionalCode); //CollectorAddress 为ushort类型,占 2 字节,表示 16 位正整数,byte 字节型,占 1 字节,表示 8 位正整数.所以要把 CollectorAddress拆开来
byte[] tempPack = new byte[2];
tempPack = BitConverter.GetBytes(this.CollectorAddress); //将CollectorAddress拆开后的数据放进去
pack[4] = tempPack[0];
pack[5] = tempPack[1]; pack[6]= Convert.ToByte(this.CtrlCode);
pack[7]= Convert.ToByte(this.TypeCode); //基类消息,根本不需要打包这么多,只要打包到数据域之前就行了 // pack[8] = this.Crc[0];
// pack[9] = this.Crc[1];
////将结束符打包到进去
// pack[10] = Convert.ToByte(MsgConst.EndCode); MemoryStream packStream = new MemoryStream(pack);
return packStream; }
public override MemoryStream Pack()
{ byte[] pack = new byte[14];
pack[0] = Convert.ToByte(MsgConst.StartCode); pack[1] = Convert.ToByte(this.DataLen); pack[2] = Convert.ToByte(MsgConst.StartCode);
pack[3] = Convert.ToByte(this.RegionalCode); //CollectorAddress 为ushort类型,占 2 字节,表示 16 位正整数,byte 字节型,占 1 字节,表示 8 位正整数.所以要把 CollectorAddress拆开来
byte[] tempPack = new byte[2];
tempPack = BitConverter.GetBytes(this.CollectorAddress); //将CollectorAddress拆开后的数据放进去
pack[4] = tempPack[0];
pack[5] = tempPack[1]; //将控制码打包进去
pack[6] = Convert.ToByte(this.CtrlCode); //将类型码打包进去
pack[7] = Convert.ToByte(this.TypeCode); //将CRC16校验码打包进去
pack[8] = this.Crc[0];
pack[9] = this.Crc[1];
//申请调用密码处理方法
PassWordTransForm passWordTransForm=new PassWordTransForm(); //将密码进行处理,处理后密码被转为一个16进制的byte[]数组
byte[]passWordBytes=passWordTransForm.PassWordStringToBytes(this.PassWord); //将处理后的密码数组打包进去
int i = 0;
for (i = 10; i <=passWordBytes.Length+10;i++ )
{
pack[i] = passWordBytes[0];
}
//将结束符打包到进去
pack[i] = Convert.ToByte(MsgConst.EndCode); MemoryStream packStream = new MemoryStream(pack);
return packStream;
}