/// <summary> /// 收包这里不做分包合并,每一包都触发委托处理 /// 在委托里面根据需要进行合包,分包信息在Header里面有,所以委托参数从Msg改为Packet, /// </summary> /// <param name="data">skt收到的报文字节</param> /// <param name="pkt">返回的自定义Packet类型对象</param> /// <returns>是否接收正确 0表示正常, 非0表示异常</returns> private int RecvOnePkt(byte[] data, out Packet pkt) { //Console.WriteLine("RecvOnePkt:"); //Console.WriteLine("PktSN = " + pkt.Header.PktSN.ToString()); //Console.WriteLine("MsgSn = " + pkt.Header.MsgSn.ToString()); //Console.WriteLine("MsgType = 0x" + pkt.Header.MsgType.ToString("x")); //Console.WriteLine("MsgLen = " + pkt.Header.MsgLen.ToString()); //Console.WriteLine("TotalMsgLen = " + pkt.Header.TotalMsgLen.ToString()); pkt = new Packet(data); if (pkt.Data.Length < pkt.Header.MsgLen + Header.Length) { NLogHelper.DebugLog("pkt.Length<pkt.MsgLen + pkt.headerLen"); return(-1); } if (pkt.Msg.Length < pkt.Header.TotalMsgLen) { NLogHelper.DebugLog("msg.data.Length < pkt.TotalMsgLen"); return(-2); } return(0); // rcv done }
private void UsbDevices_DeviceRemoved(object sender, EventArgs e) { isConnect = false; USBEventArgs usbEvent = e as USBEventArgs; //Console.WriteLine(usbEvent.FriendlyName.ToString() + " Removed"); NLogHelper.DebugLog(usbEvent.FriendlyName.ToString() + " Removed"); MessageBox.Show(usbEvent.FriendlyName.ToString() + " Removed"); }
private int USBSend(byte[] data) { if (null == bepOut) { return(0); } int len = data.Length; if (bepOut.XferData(ref data, ref len)) { Console.WriteLine($"Send One Msg MsgType:0x{BitConverter.ToInt32(data, 36):X2}"); NLogHelper.DebugLog($"Send One Msg MsgType:0x{BitConverter.ToInt32(data, 36):X2}"); } return(len); }