ReadInt32() public method

public ReadInt32 ( ) : int
return int
Ejemplo n.º 1
0
        private async Task HandshakeOld(RTMPBinaryReader c1reader, CancellationToken cancel_token)
        {
            var s1vec = new byte[1528];
            var rand  = new Random();

            rand.NextBytes(s1vec);
            await SendAsync(writer => {
                writer.Write(0);
                writer.Write(0);
                writer.Write(s1vec);
            }, cancel_token).ConfigureAwait(false);

            var c1time = c1reader.ReadInt32();
            var c1ver  = c1reader.ReadInt32();
            var c1vec  = c1reader.ReadBytes(1528);

            await SendAsync(writer => {
                writer.Write(c1time);
                writer.Write(c1ver);
                writer.Write(c1vec);
            }, cancel_token).ConfigureAwait(false);

            using (var reader = await RecvAsync(1536, cancel_token).ConfigureAwait(false)) {
                var c2time = reader.ReadInt32();
                var c2zero = reader.ReadInt32();
                var c2vec  = reader.ReadBytes(1528);
                if (!s1vec.SequenceEqual(c2vec))
                {
                    throw new InvalidDataException("C2 random vector is not matched.");
                }
            }
        }
Ejemplo n.º 2
0
        private bool Handshake()
        {
            Logger.Debug("Handshake start");
            var rand = new Random();
            var c0   = Recv(1);

            Send(new byte[] { 0x03 });
            var s1vec = new byte[1528];

            rand.NextBytes(s1vec);
            Send(s => {
                using (var writer = new RTMPBinaryWriter(s)) {
                    writer.Write(0);
                    writer.Write(0);
                    writer.Write(s1vec);
                }
            });
            using (var reader = new RTMPBinaryReader(new MemoryStream(Recv(1536)))) {
                Send(s => {
                    using (var writer = new RTMPBinaryWriter(s)) {
                        writer.Write(reader.ReadInt32());
                        writer.Write(reader.ReadInt32());
                        writer.Write(reader.ReadBytes(1528));
                    }
                });
            }
            using (var reader = new RTMPBinaryReader(new MemoryStream(Recv(1536)))) {
                reader.ReadInt32();
                reader.ReadInt32();
                if (!s1vec.Equals(reader.ReadBytes(1528)))
                {
                    Logger.Debug("Handshake failed");
                    return(false);
                }
            }
            timer.Reset();
            timer.Start();
            Logger.Debug("Handshake succeeded");
            return(true);
        }
Ejemplo n.º 3
0
		private async Task HandshakeOld(RTMPBinaryReader c1reader, CancellationToken cancel_token)
		{
			var s1vec = new byte[1528];
			var rand = new Random();
			rand.NextBytes(s1vec);
			await Send(writer => {
				writer.Write(0);
				writer.Write(0);
				writer.Write(s1vec);
			}, cancel_token);

			var c1time = c1reader.ReadInt32();
			var c1ver  = c1reader.ReadInt32();
			var c1vec  = c1reader.ReadBytes(1528);
			await Send(writer => {
				writer.Write(c1time);
				writer.Write(c1ver);
				writer.Write(c1vec);
			}, cancel_token);

			await Recv(1536, reader => {
				var c2time = reader.ReadInt32();
				var c2zero = reader.ReadInt32();
				var c2vec = reader.ReadBytes(1528);
				if (!s1vec.SequenceEqual(c2vec)) {
					throw new InvalidDataException("C2 random vector is not matched.");
				}
			}, cancel_token);
		}
Ejemplo n.º 4
0
 private bool Handshake()
 {
     Logger.Debug("Handshake start");
       var rand = new Random();
       var c0 = Recv(1);
       Send(new byte[] { 0x03 });
       var s1vec = new byte[1528];
       rand.NextBytes(s1vec);
       Send(s => {
     using (var writer=new RTMPBinaryWriter(s)) {
       writer.Write(0);
       writer.Write(0);
       writer.Write(s1vec);
     }
       });
       using (var reader=new RTMPBinaryReader(new MemoryStream(Recv(1536)))) {
     Send(s => {
       using (var writer=new RTMPBinaryWriter(s)) {
     writer.Write(reader.ReadInt32());
     writer.Write(reader.ReadInt32());
     writer.Write(reader.ReadBytes(1528));
       }
     });
       }
       using (var reader=new RTMPBinaryReader(new MemoryStream(Recv(1536)))) {
     reader.ReadInt32();
     reader.ReadInt32();
     if (!s1vec.Equals(reader.ReadBytes(1528))) {
       Logger.Debug("Handshake failed");
       return false;
     }
       }
       timer.Reset();
       timer.Start();
       Logger.Debug("Handshake succeeded");
       return true;
 }