public static void SendByteArray <T>(Session session, T obj, byte[] bytes, int length = -1, bool needmask = false) where T : class { MemoryStream stream = new MemoryStream(); BinaryWriter writer = new BinaryWriter(stream); string str = WebMessage.ToJsonString <T>(obj); byte[] msg = Encoding.UTF8.GetBytes(str); int flag = 0; int len = length; if (len < 0) { len = bytes.Length; } writer.Write(msg, 0, msg.Length); writer.Write(flag); writer.Write(bytes, 0, len); byte[] all = stream.ToArray(); WebMessage webmsg = new WebMessage(all, all.Length); webmsg.MaskFlag = needmask ? (byte)1 : (byte)0; session.Send(webmsg); }