示例#1
0
        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);
        }