Bouyei.BdProto北斗導航車載定位終端通信數(shù)據(jù)包解析
車載定位終端北斗通信協(xié)議(JT/T808-2011協(xié)議)動態(tài)解析庫。完成設備的數(shù)據(jù)包解析和封裝支持。結合網(wǎng)絡通信庫與設備連接后通過該庫進行數(shù)據(jù)包的解析和封裝全過程雙向通信操作。
static void Main(string[] args)
{
IPacketProvider pConvert = PacketProvider.CreateProvider();
string phone = "18212004771";
//終端連接鑒權平臺回復通用應答,通信內(nèi)容
byte[] body = new REQ_PB_8001().Encode(new PB8001()
{
MessageId = JT808Cmd.RSP_0102,
Serialnumber = 0,
Result = 0
});
//完整通信數(shù)據(jù)包格式
byte[] buffer = pConvert.Encode(new PacketFrom()
{
msgBody = body,
msgId = JT808Cmd.REQ_8001,
msgSerialnumber = 0,
pEncryptFlag = 0,
pSerialnumber = 1,
pSubFlag = 0,
pTotal = 1,
simNumber = phone.ToBCD(),
});
//socket通信可以使用Bouyei.NetFactory庫(推薦.net)
//socket.send(buffer);
//解析終端發(fā)回的數(shù)據(jù)包
PacketMessage msg = pConvert.Decode(buffer,0,buffer.Length);
//解析消息體內(nèi)容
if (msg.pmPacketHead.phMessageId == JT808Cmd.RSP_0102)
{
PB0102 bodyInfo = new REP_PB_0102().Decode(msg.pmMessageBody);
}
else if (msg.pmPacketHead.phMessageId == JT808Cmd.RSP_0100)
{
PB0100 bodyinfo = new REP_PB_0100().Decode(msg.pmMessageBody);
}
}
評論
圖片
表情
