Example #1
0
 public WebSocketFrame(
     WebSocketFin fin,
     WebSocketRsv rsv1,
     WebSocketRsv rsv2,
     WebSocketRsv rsv3,
     WebSocketOpcode opcode,
     WebSocketMask mask,
     byte[] maskingKey,
     Stream payload
     )
     : this(fin, rsv1, rsv2, rsv3, opcode, mask, maskingKey, 0, new byte[0], payload)
 {
     if (payload != null)
     {
         var len = payload.Length;
         if (len < 126)
         {
             _payloadLength    = (byte)len;
             _extPayloadLength = new byte[0];
         }
         else if (len < 0x010000)
         {
             _payloadLength    = (byte)126;
             _extPayloadLength = WebSocketUtils.GetBigEndianBytes((ushort)len);
         }
         else
         {
             _payloadLength    = (byte)127;
             _extPayloadLength = WebSocketUtils.GetBigEndianBytes((ulong)len);
         }
     }
 }
Example #2
0
        public WebSocketFrame(
            WebSocketFin fin,
            WebSocketRsv rsv1,
            WebSocketRsv rsv2,
            WebSocketRsv rsv3,
            WebSocketOpcode opcode,
            WebSocketMask mask,
            byte[] maskingKey,
            byte payloadLength,
            byte[] extPayloadLength,
            Stream payload
            )
        {
            if (mask == WebSocketMask.Mask && (maskingKey == null || maskingKey.Length != 4))
            {
                throw new ArgumentOutOfRangeException("maskingKey", "must by 4 bytes long");
            }

            _fin              = fin;
            _rsv1             = rsv1;
            _rsv2             = rsv2;
            _rsv3             = rsv3;
            _opcode           = opcode;
            _mask             = mask;
            _maskingKey       = maskingKey;
            _payloadLength    = payloadLength;
            _extPayloadLength = extPayloadLength;
            _payload          = payload;
        }
 public WebSocketFrame(
     WebSocketFin fin,
     WebSocketRsv rsv1,
     WebSocketRsv rsv2,
     WebSocketRsv rsv3,
     WebSocketOpcode opcode,
     WebSocketMask mask,
     byte[] maskingKey,
     Stream payload
 )
     : this(fin, rsv1, rsv2, rsv3, opcode, mask, maskingKey, 0, new byte[0], payload)
 {
     if (payload != null)
     {
         var len = payload.Length;
         if (len < 126)
         {
             _payloadLength = (byte)len;
             _extPayloadLength = new byte[0];
         }
         else if (len < 0x010000)
         {
             _payloadLength = (byte)126;
             _extPayloadLength = WebSocketUtils.GetBigEndianBytes((ushort)len);
         }
         else
         {
             _payloadLength = (byte)127;
             _extPayloadLength = WebSocketUtils.GetBigEndianBytes((ulong)len);
         }
     }
 }
        public WebSocketFrame(
            WebSocketFin fin,
            WebSocketRsv rsv1,
            WebSocketRsv rsv2,
            WebSocketRsv rsv3,
            WebSocketOpcode opcode,
            WebSocketMask mask,
            byte[] maskingKey,
            byte payloadLength,
            byte[] extPayloadLength,
            Stream payload
        )
        {
            if (mask == WebSocketMask.Mask && (maskingKey == null || maskingKey.Length != 4))
                throw new ArgumentOutOfRangeException("maskingKey", "must by 4 bytes long");

            _fin = fin;
            _rsv1 = rsv1;
            _rsv2 = rsv2;
            _rsv3 = rsv3;
            _opcode = opcode;
            _mask = mask;
            _maskingKey = maskingKey;
            _payloadLength = payloadLength;
            _extPayloadLength = extPayloadLength;
            _payload = payload;
        }
Example #5
0
 public WebSocketFrame(
     WebSocketFin fin,
     WebSocketOpcode opcode,
     WebSocketMask mask,
     Stream payload
     )
     : this(fin, WebSocketRsv.Off, WebSocketRsv.Off, WebSocketRsv.Off, opcode, mask, mask == WebSocketMask.Mask ? WebSocketUtils.CreateMaskingKey() : new byte[0], payload)
 {
 }
        public WebSocketFrame(
            WebSocketFin fin,
            WebSocketOpcode opcode,
            WebSocketMask mask,
            Stream payload
        )
            : this(fin, WebSocketRsv.Off, WebSocketRsv.Off, WebSocketRsv.Off, opcode, mask, mask == WebSocketMask.Mask ? WebSocketUtils.CreateMaskingKey() : new byte[0], payload)
        {

        }