public override IotRequest ResolvePackage(IBufferStream bufferStream) { var header = new byte[headerLength + 2]; bufferStream.Read(header, 0, header.Length); var headerHex = header.ToHex(); if (headerHex.Left(2 * headerLength) == this.header) { var body = new byte[base.Size - 2 - headerLength]; bufferStream.Read(body, 0, body.Length); return(new IotRequest(this, body)); } return(null); }
public override BinaryRequestInfo ResolvePackage(IBufferStream bufferStream) { byte[] header = new byte[HeaderSize]; bufferStream.Read(header, 0, HeaderSize); int bodyLength = Size - HeaderSize; byte[] data = new byte[bodyLength]; bufferStream.Read(data, 0, bodyLength); //BinaryRequestInfo requestInfo = new BinaryRequestInfo(Encoding.UTF8.GetString(data1), data1); //return requestInfo; return(new BinaryRequestInfo(data)); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { var lenBytes = new byte[length]; bufferStream.Read(lenBytes, 0, length); return(BitConverter.ToInt32(lenBytes, 0)); }
public static byte[] Read(this IBufferStream bufferStream) { var buffer = new byte[bufferStream.Length]; bufferStream.Read(buffer, 0, (int)bufferStream.Length); return(buffer); }
public override PackageInfo ResolvePackage(IBufferStream bufferStream) { byte[] data = new byte[bufferStream.Length]; bufferStream.Read(data, 0, Convert.ToInt32(bufferStream.Length)); string message = Encoding.ASCII.GetString(data); return(ResolvePackage(data)); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { byte[] lenbuffer = new byte[length]; bufferStream.Read(lenbuffer, 0, length); int nLen = BitConverter.ToInt16(lenbuffer, 0); return(nLen); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { byte[] header = new byte[bufferStream.Length]; bufferStream.Read(header, 0, (int)bufferStream.Length); var headerData = new byte[4]; Array.Copy(header, 6, headerData, 0, 4); return(BitConverter.ToInt32(headerData, 0) + 2); }
public override TPackageInfo ResolvePackage(IBufferStream bufferStream) { var buffer = bufferStream.Read(); var cmdCode = buffer.CloneRange(0, 4); var length = BitConverter.ToInt32(buffer.CloneRange(4, 4), 0); var body = buffer.CloneRange(8, length); return(LoadRequestInfo(cmdCode, body)); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { byte[] lenbuffer = new byte[length]; bufferStream.Read(lenbuffer, 0, length); int nLen = (int)lenbuffer[0] * 256 + (int)lenbuffer[1]; //BitConverter.ToInt16(lenbuffer, 0); //Debug.LogWarning("length---------" + nLen); return(nLen); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { byte[] headData = new byte[8]; bufferStream.Read(headData, 0, 8); byte[] length1 = new byte[4]; Array.Copy(headData, 4, length1, 0, 4); return(BitConverter.ToInt32(length1, 0)); }
public override TPackageInfo ResolvePackage(IBufferStream bufferStream) { var buffer = bufferStream.Read(); var cmdCode = buffer.CloneRange(0, RouteProvider.RouteLength); var length = BitConverter.ToInt32(buffer.CloneRange(RouteProvider.RouteLength, 4), 0); var body = buffer.CloneRange(RouteProvider.RouteLength + 4, length); return(LoadPackageInfo(cmdCode, body)); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { bufferStream.Skip(FixedHeaderTryConst.KEYSIZE); byte[] bodySizeBuf = new byte[FixedHeaderTryConst.BODYSIZE_LEN]; //注意 Read方法的第二个参数,目标数组的偏移 bufferStream.Read(bodySizeBuf, 0, FixedHeaderTryConst.BODYSIZE_LEN); return(PackageBodyOperator.GetBodyLen(bodySizeBuf)); //throw new NotImplementedException(); }
public override StringPackageInfo ResolvePackage(IBufferStream bufferStream) { byte[] bytes = new byte[bufferStream.Length]; bufferStream.Read(bytes, 0, bytes.Length); string str = System.Text.Encoding.ASCII.GetString(bytes); str = str.Replace("\0", string.Empty); str = str.Replace("\r", string.Empty); return(new StringPackageInfo(str, "", null)); }
public override MsgBinaryRequestInfo ResolvePackage(IBufferStream bufferStream) { byte[] headData = new byte[8]; bufferStream.Read(headData, 0, 8); var length1 = new byte[4]; Array.Copy(headData, 4, length1, 0, 4); int bodyLength = BitConverter.ToInt32(length1, 0); var bodyData = new byte[bodyLength]; bufferStream.Read(bodyData, 0, bodyLength); ; MsgBinaryRequestInfo requestInfo = new MsgBinaryRequestInfo(Encoding.UTF8.GetString(headData, 0, 4), bodyData); return(requestInfo); }
public override ClientPackageInfo ResolvePackage(IBufferStream bufferStream) { var bodyBuffer = new byte[bufferStream.Length]; bufferStream.Read(bodyBuffer, 0, (int)bufferStream.Length); return(new ClientPackageInfo { BodySize = bodyBuffer.Length, Body = bodyBuffer }); }
public override FPackageInfo ResolvePackage(IBufferStream bufferStream) { var PackageTogalSize = (int)(bufferStream.Length); bufferStream.Skip(H_SIZE); byte[] data = new byte[PackageTogalSize - H_SIZE]; bufferStream.Read(data, 0, PackageTogalSize - H_SIZE); return(new FPackageInfo(data)); }
public override WebSocketPackageInfo ResolvePackage(IBufferStream bufferStream) { var context = Context; var bufferManager = context.BufferManager; var responseBuilder = new StringBuilder(); responseBuilder.AppendWithCrCf(WebSocketConstant.ResponseHeadLine00); responseBuilder.AppendWithCrCf(WebSocketConstant.ResponseUpgradeLine); responseBuilder.AppendWithCrCf(WebSocketConstant.ResponseConnectionLine); if (!string.IsNullOrEmpty(context.Origin)) { responseBuilder.AppendFormatWithCrCf(WebSocketConstant.ResponseOriginLine, context.Origin); } responseBuilder.AppendFormatWithCrCf(WebSocketConstant.ResponseLocationLine, context.UriScheme, context.Host, context.Path); ///TODO: get available sub protocols //var subProtocol = context.GetAvailableSubProtocol(); //if (!string.IsNullOrEmpty(subProtocol)) // responseBuilder.AppendFormatWithCrCf(WebSocketConstant.ResponseProtocolLine, subProtocol); responseBuilder.AppendWithCrCf(); var response = responseBuilder.ToString(); var encoding = Encoding.UTF8; byte[] data = encoding.GetBytes(response); context.Channel.Send(new ArraySegment <byte>(data)); var secKey1 = context.HandshakeRequest.Get(WebSocketConstant.SecWebSocketKey1); var secKey2 = context.HandshakeRequest.Get(WebSocketConstant.SecWebSocketKey2); byte[] secret; var secKey3 = bufferManager.GetBuffer(c_Key3Len); try { bufferStream.Read(secKey3, 0, c_Key3Len); secret = GetResponseSecurityKey(secKey1, secKey2, new ArraySegment <byte>(secKey3, 0, c_Key3Len)); } finally { bufferManager.ReturnBuffer(secKey3); } context.Channel.Send(new ArraySegment <byte>(secret)); NextReceiveFilter = new DraftHybi00DataReceiveFilter(context); return(null); }
public override StringPackageInfo ResolvePackage(IBufferStream bufferStream) { //throw new NotImplementedException(); string key = bufferStream.ReadString(FixedHeaderTryConst.KEYSIZE, Encoding.UTF8); byte[] buffer = new byte[FixedHeaderTryConst.BODYSIZE_LEN]; bufferStream.Read(buffer, 0, FixedHeaderTryConst.BODYSIZE_LEN); int bodySize = PackageBodyOperator.GetBodyLen(buffer); string body = bufferStream.ReadString(bodySize, Encoding.UTF8); return(new StringPackageInfo(key, body, null)); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { var headBytes = new byte[length]; bufferStream.Read(headBytes, 0, length); var str = Encoding.UTF8.GetString(headBytes); var len = str.Length; bodyLength = int.Parse(str.Substring(str.LastIndexOf(":") + 1).Replace("\r", "").Replace("\n", "")); return(bodyLength + 4); }
public override StringPackageInfo ResolvePackage(IBufferStream bufferStream) { byte[] data = new byte[bufferStream.Length]; bufferStream.Read(data, 0, Convert.ToInt32(bufferStream.Length)); string message = Encoding.ASCII.GetString(data); BasicStringParser bsp = new BasicStringParser(Environment.NewLine, Environment.NewLine); StringPackageInfo package = new StringPackageInfo(message, bsp); return(package); }
public override ReceieveMessage ResolvePackage(IBufferStream bs) { ReceieveMessage message = new ReceieveMessage(); var lenBytes = new byte[4]; bs.Read(lenBytes, 0, 4); message.Length = BitConverter.ToInt32(lenBytes, 0); var timeBytes = new byte[14]; bs.Read(timeBytes, 0, 14); message.TimeStamp = Encoding.UTF8.GetString(timeBytes); var actionBytes = new byte[4]; bs.Read(actionBytes, 0, 4); message.Action = BitConverter.ToInt32(actionBytes, 0); var dataLength = message.Length - 18; var dataBytes = new byte[dataLength]; bs.Read(dataBytes, 0, dataLength); message.DataStr = Encoding.UTF8.GetString(dataBytes); return(message); }
public override TestProtobasePackageInfo ResolvePackage(IBufferStream bufferStream) { byte[] data = new byte[bufferStream.Length]; bufferStream.Read(data, 0, Convert.ToInt32(bufferStream.Length)); string message = Encoding.ASCII.GetString(data); TestProtobasePackageInfo package = new TestProtobasePackageInfo(); package.OriginalRequest = message; return(package); }
public override TestProtobasePackageInfo ResolvePackage(IBufferStream bufferStream) { byte[] data = new byte[bufferStream.Length]; bufferStream.Read(data, 0, Convert.ToInt32(bufferStream.Length)); string message = Encoding.ASCII.GetString(data); return(new TestProtobasePackageInfo() { OriginalRequest = message.TrimStart(Encoding.ASCII.GetChars(beginMark)).TrimEnd(Encoding.ASCII.GetChars(endMark)) }); }
public override StringPackageInfo ResolvePackage(IBufferStream bufferStream) { byte[] bytes = new byte[bufferStream.Length]; bufferStream.Read(bytes, 0, bytes.Length); string str = System.Text.Encoding.ASCII.GetString(bytes); str = str.Replace("\0", string.Empty); str = str.Replace("\r\n", string.Empty); AppLog.Info("Ir接收", str); if (str.StartsWith("!") || str.StartsWith(">!")) { string[] strArry = str.Split(new Char[] { '\t', ' ', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); string strHead = strArry[1]; string[] strParam = strArry.Skip(2).ToArray(); string[] strHeads = strHead.Split('-'); if (strHeads.Length < 2) { return(new StringPackageInfo(strHead, "", strParam)); } else { string strBody = strHeads[0]; strHead = strHeads[1]; return(new StringPackageInfo(strHead, strBody, strParam)); } } else if (str.StartsWith(">")) { return(new StringPackageInfo("BEGIN", "", null)); } else { string[] strArry = str.Split(); string strHead = strArry[0]; string[] strParam = strArry.Skip(2).ToArray(); string[] strHeads = strHead.Split('-'); if (strHeads.Length < 2) { return(new StringPackageInfo(strHead, "", strParam)); } else { string strBody = strHeads[0]; strHead = strHeads[1]; return(new StringPackageInfo(strHead, strBody, strParam)); } } }
public override ReceieveMessage ResolvePackage(IBufferStream bs) { ReceieveMessage res = new ReceieveMessage(); //var h = new byte[64]; //bs.Read(h, 0, 64); //var mmm = Encoding.UTF8.GetString(h); bs.Skip(64); var bodyBytes = new byte[bodyLength]; bs.Read(bodyBytes, 0, bodyLength); res.Length = bodyLength; res.DataStr = Encoding.UTF8.GetString(bodyBytes); res.ReceiveDataType = GetReceiveType(res.DataStr); return(res); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { if (length < 14) { return(0); } var header = new byte[14]; int count = bufferStream.Read(header, 0, 14); byte high = header[13]; //获取低位 byte low = header[12]; return(MQTools.GetBodyLengthFromHeader(high, low)); }
//根据头得到数据头长度 protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { int datalength = 0; byte[] headByte = new byte[2]; bufferStream.Read(headByte, 0, 2); int head = DataTransform.bytesToUshort(headByte, 0); if (head == 10004 || head == 20004 || head == 30004 || head == 40004 || head == 30000) { datalength = 6; return(datalength); } if (head == 10005 || head == 20005 || head == 30005 || head == 40005) { datalength = 8; return(datalength); } return(datalength); }
public override MQDataInfo ResolvePackage(IBufferStream bufferStream) { var buffer = bufferStream.Read(); return(MQTools.ResolveMQDataInfo(buffer)); }
protected override int GetBodyLengthFromHeader(IBufferStream bufferStream, int length) { var buffer = bufferStream.Read(); return(BitConverter.ToInt32(buffer, RouteProvider.RouteLength)); }