private void ParseUdpData(UdpDataInfo data) { //TODO 需要确定是否要去掉其他的数据 //处理完成后,通过接口发送给CDL PublishHelper.PublishMsg("/AtpBack/CDLParse/MsgParse", data.UdpDataBytes); }
private void ParseUdpHeader(byte[] udpBytes, int offset, uint srcAddr, uint dstAddr) { UDP_HEADER udpHeader = ProtocolParseHelper.GetUdpHeader(udpBytes, offset); if (null == udpHeader) { throw new ArgumentException(); } int udpDataLen = udpBytes.Length - offset - udpHeader.Len; UdpDataInfo udpData = new UdpDataInfo(udpDataLen) { SrcAddr = srcAddr, DstAddr = dstAddr, SrcPort = udpHeader.src_port, DstPort = udpHeader.des_port }; Buffer.BlockCopy(udpBytes, offset + udpHeader.Len, udpData.UdpDataBytes, 0, udpDataLen); ParseUdpData(udpData); }