Пример #1
0
        /// <summary>
        /// Deserializes the WebSocket Close Extension Data.
        /// </summary>
        /// <param name="data">The data.</param>
        /// <returns>Deserialized Extension Data.</returns>
        public CloseFrameExt DeserializeCloseFrameExt(byte[] data)
        {
            var extData = new CloseFrameExt();

            extData.StatusCode        = BinaryHelper.Int16FromBytes(data[0], data[1], 0);
            extData.LastGoodSessionId = BinaryHelper.Int32FromBytes(new ArraySegment <byte>(data, 2, 4));

            return(extData);
        }
Пример #2
0
        /// <summary>
        /// Parses HTTP header of SM control frame.
        /// </summary>
        /// <param name="frame">The frame.</param>
        /// <param name="data">The data.</param>
        private static void ParseControlFrameHeader(ref ControlFrame frame, byte[] data)
        {
            frame.Version = BinaryHelper.Int16FromBytes(data[0], data[1], 1);
            frame.Type    = (FrameType)BinaryHelper.Int16FromBytes(data[2], data[3]);

            frame.StreamId = BinaryHelper.Int32FromBytes(new ArraySegment <byte>(data, 4, 4), 0);

            frame.Flags = data[8];

            //	frame.Length = BinaryHelper.Int32FromBytes(new ArraySegment<byte>(data, 5, 3));
            frame.IsFinal = (frame.Flags & 0x01) != 0;
        }