public static WsHeader Create(bool fin, OpCode opCode, int payloadLength) { var header = new WsHeader(); header.Fin = fin; header.Rcv1 = 0; header.Rcv2 = 0; header.Rcv3 = 0; header.OpCode = opCode; header.Mask = false; header.PayloadLength = payloadLength; return(header); }
public static WsHeader Parse(byte[] bytes) { var header = new WsHeader(); if (bytes == null || bytes.Length < 2) { return(header); } header.Fin = (bytes[0] >> 7) == 1; header.Rcv1 = (byte)(bytes[0] >> 6 & 1); header.Rcv2 = (byte)(bytes[0] >> 5 & 1); header.Rcv3 = (byte)(bytes[0] >> 4 & 1); header.OpCode = (OpCode)(bytes[0] & 0x0f); header.Mask = (bytes[1] >> 7) == 1; header.PayloadLength = bytes[1] & 0x7f; return(header); }