977 {
978 sendBuffer[0] = (byte)opcode;
979 if (endOfMessage)
980 {
981 sendBuffer[0] |= 128;
982 }
983 if (compressed && opcode != 0)
984 {
985 sendBuffer[0] |= 64;
986 }
987 int num;
988 if (payload.
Length <= 125)
989 {
990 sendBuffer[1] = (byte)payload.
Length;
991 num = 2;
992 }
993 else if (payload.
Length <= 65535)
994 {
995 sendBuffer[1] = 126;
996 sendBuffer[2] = (byte)(payload.
Length / 256);
997 sendBuffer[3] = (byte)payload.
Length;
998 num = 4;
999 }
1000 else
1001 {
1002 sendBuffer[1] = 127;
1003 int num2 = payload.
Length;
1004 for (int num3 = 9; num3 >= 2; num3--)
1005 {
1006 sendBuffer[num3] = (byte)num2;
1007 num2 /= 256;
1008 }
1009 num = 10;
1010 }
1011 if (useMask)
1012 {
1013 sendBuffer[1] |= 128;
1015 }
1016 return num;
1017 }
static void WriteRandomMask(byte[] buffer, int offset)