WriteUInt32LE() публичный Метод

public WriteUInt32LE ( long value ) : void
value long
Результат void
Пример #1
0
        void SendMessage(int chunk_stream_id, RTMPMessage msg)
        {
            int offset = 0;
            int fmt    = 0;

            while (msg.Body.Length - offset > 0)
            {
                switch (fmt)
                {
                case 0:
                    Send(s => {
                        using (var writer = new RTMPBinaryWriter(s)) {
                            writer.Write((byte)((fmt << 6) | chunk_stream_id));
                            if (msg.Timestamp > 0xFFFFFF)
                            {
                                writer.WriteUInt24(0xFFFFFF);
                            }
                            else
                            {
                                writer.WriteUInt24((int)msg.Timestamp);
                            }
                            writer.WriteUInt24(msg.Body.Length);
                            writer.Write((byte)msg.MessageType);
                            writer.WriteUInt32LE(msg.StreamId);
                            if (msg.Timestamp > 0xFFFFFF)
                            {
                                writer.WriteUInt32(msg.Timestamp);
                            }
                            int chunk_len = Math.Min(sendChunkSize, msg.Body.Length - offset);
                            writer.Write(msg.Body, offset, chunk_len);
                            offset += chunk_len;
                        }
                    });
                    fmt = 3;
                    break;

                case 3:
                    Send(s => {
                        using (var writer = new RTMPBinaryWriter(s)) {
                            writer.Write((byte)((fmt << 6) | chunk_stream_id));
                            int chunk_len = Math.Min(sendChunkSize, msg.Body.Length - offset);
                            writer.Write(msg.Body, offset, chunk_len);
                            offset += chunk_len;
                        }
                    });
                    break;
                }
            }
        }
Пример #2
0
 void SendMessage(int chunk_stream_id, RTMPMessage msg)
 {
     int offset = 0;
       int fmt = 0;
       while (msg.Body.Length-offset>0) {
     switch (fmt) {
     case 0:
       Send(s => {
     using (var writer=new RTMPBinaryWriter(s)) {
       writer.Write((byte)((fmt<<6) | chunk_stream_id));
       if (msg.Timestamp>0xFFFFFF) {
         writer.WriteUInt24(0xFFFFFF);
       }
       else {
         writer.WriteUInt24((int)msg.Timestamp);
       }
       writer.WriteUInt24(msg.Body.Length);
       writer.Write((byte)msg.MessageType);
       writer.WriteUInt32LE(msg.StreamId);
       if (msg.Timestamp>0xFFFFFF) {
         writer.WriteUInt32(msg.Timestamp);
       }
       int chunk_len = Math.Min(sendChunkSize, msg.Body.Length-offset);
       writer.Write(msg.Body, offset, chunk_len);
       offset += chunk_len;
     }
       });
       fmt = 3;
       break;
     case 3:
       Send(s => {
     using (var writer=new RTMPBinaryWriter(s)) {
       writer.Write((byte)((fmt<<6) | chunk_stream_id));
       int chunk_len = Math.Min(sendChunkSize, msg.Body.Length-offset);
       writer.Write(msg.Body, offset, chunk_len);
       offset += chunk_len;
     }
       });
       break;
     }
       }
 }