private void DoHandshake(Stream stream) { // read c0+c1 var c01 = RtmpHandshake.Read(stream, true); var random = new Random(); var randomBytes = new byte[1528]; random.NextBytes(randomBytes); // write s0+s1+s2 var s01 = new RtmpHandshake { Version = 3, Time = (uint)Environment.TickCount, Time2 = 0, Random = randomBytes }; var s02 = s01.Clone(); s02.Time2 = (uint)Environment.TickCount; RtmpHandshake.WriteAsync(stream, s01, s02, true); // read c02 var c02 = RtmpHandshake.Read(stream, false); hasConnected = true; }
private void DoHandshake(Stream stream) { RtmpHandshake.Read(stream, true); Random random = new Random(); byte[] numArray = new byte[1528]; byte[] buffer = numArray; random.NextBytes(buffer); RtmpHandshake h = new RtmpHandshake() { Version = 3, Time = (uint)Environment.TickCount, Time2 = 0, Random = numArray }; RtmpHandshake h2 = h.Clone(); h2.Time2 = (uint)Environment.TickCount; RtmpHandshake.WriteAsync(stream, h, h2, true); RtmpHandshake.Read(stream, false); }