コード例 #1
0
        private void PerformHandshake()
        {
            if (Client == null)
            {
                throw new InvalidOperationException("Cannot start a session without a Client.");
            }

            PacketWriter pWriter = PacketWriter.Of(SendOp.REQUEST_VERSION);

            pWriter.WriteUInt(VERSION);
            pWriter.WriteUInt(Riv);
            pWriter.WriteUInt(Siv);
            pWriter.WriteUInt(BLOCK_IV);
            pWriter.WriteByte((byte)Type);

            // No encryption for handshake
            Packet packet = SendCipher.WriteHeader(pWriter.ToArray());

            Logger.Debug("Handshake: {packet}", packet);
            SendRaw(packet);
        }