RTMP.AmfWriter.WriteObject C# (CSharp) Method

WriteObject() public method

public WriteObject ( AmfObject amfObject, bool isArray = false ) : void
amfObject AmfObject
isArray bool
return void
        public void WriteObject(AmfObject amfObject, bool isArray = false)
        {
            if(!isArray)
            writer.Write((byte) Amf0Types.Object);
            else
            {
                writer.Write((byte) Amf0Types.Array);
                writer.Write(
                    (int)
                    (amfObject.Booleans.Count + amfObject.Numbers.Count + amfObject.Strings.Count + amfObject.Nulls));
            }
            foreach (var s in amfObject.Strings)
            {
                WriteString(s.Key, true);
                WriteString(s.Value);
            }

            foreach (var s in amfObject.Numbers)
            {
                WriteString(s.Key, true);
                WriteNumber(s.Value);
            }

            foreach (var s in amfObject.Booleans)
            {
                WriteString(s.Key, true);
                WriteBoolean(s.Value);
            }
            //objects end with 0x00,0x00, (oject end identifier [0x09 in this case])
            writer.Write((byte)0x00);
            writer.Write((byte)0x00);
            writer.Write((byte) Amf0Types.ObjectEnd);
        }

Usage Example

Esempio n. 1
0
        private void Connect(string type = "app")
        {
            var writer = new AmfWriter();

            writer.WriteString("connect");
            writer.WriteNumber(1);
            var connectObject = new AmfObject();

            connectObject.Strings.Add("app", "app");
            writer.WriteObject(connectObject);
            SendAmf(writer);
        }
All Usage Examples Of RTMP.AmfWriter::WriteObject