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.");
}
}
}