Exemple #1
0
        internal void Recibe()
        {
            Depuracion.Depura(de_servidor, "me he hecho un lío");
            //
            if (contador_CTR_local.NumeroSerie == 0 &&
                contador_CTR_local.NumeroMensaje == 0)
            {
                Depuracion.Depura(!de_servicio, "'billete' o 'indice' fuera de lugar");
                //
                MensajeInicio mensaje_claves = new MensajeInicio(this);
                mensaje_claves.Recibe();
                //
                MensajeSeguridad mensaje_billete =
                    new MensajeSeguridad(this, MensajeSeguridad.Tipologia.Inicio);
                mensaje_billete.EnviaBillete();
            }
            //
            int indice;

            mensaje_general.RecibeCabecera(out indice);
            //
            if (indice == 0)
            {
                //
                contador_CTR_local.AnulaMensaje();
                contador_CTR_remoto.AnulaMensaje();
                //
                MensajeSeguridad mensaje_seguridad =
                    new MensajeSeguridad(this, MensajeSeguridad.Tipologia.Secreto);
                mensaje_seguridad.IntegraCabecera(mensaje_general);
                mensaje_seguridad.RecibeSecreto();
                //
                MensajeSeguridad mensaje_billete =
                    new MensajeSeguridad(this, MensajeSeguridad.Tipologia.Billete);
                mensaje_billete.EnviaBillete();
                //
                mensaje_general.RecibeCabecera(out indice);
                //
            }
            //
            mensaje_general.RecibeCuerpo();
        }