/// <summary> /// 过滤器接受信息 解析byte[] /// </summary> /// <param name="readBuffer"></param> /// <param name="offset"></param> /// <param name="length"></param> /// <param name="toBeCopied"></param> /// <param name="rest"></param> /// <returns></returns> public MyUdpRequestInfo Filter(byte[] readBuffer, int offset, int length, bool toBeCopied, out int rest) { var endFlag = HandleUdpUtils.getEndFlagStr(readBuffer, length); if (!endFlag.Equals(HandleUdpUtils.IMG_END_FLAG) || !endFlag.Equals(HandleUdpUtils.WEB_END_FLAG)) //判断结束标志 { int endFlagSize = 2; string privateKey = HandleUdpUtils.getPrivateKey(readBuffer); string sesssionId = HandleUdpUtils.getMachineCode(readBuffer); //machineCode 当成sessionId rest = 0; byte[] body = readBuffer.Skip( HandleUdpUtils.MACHINE_CODE_LENGTH).Take(length - HandleUdpUtils.MACHINE_CODE_LENGTH - endFlagSize).ToArray(); return(new MyUdpRequestInfo(privateKey, sesssionId) { Body = body }); } else { rest = 0; return(null); } }