コード例 #1
0
        public virtual void EnviarMensagem(Endereco destino, int portaDestino, Mensagem mensagem)
        {
            TesteDeRede.ExibirEtapa();

            resultado = null; //Exclui o resultado da consulta anterior.

            Console.WriteLine($"Eu sou {Nome} e envio {mensagem.Tamanho} bytes: {mensagem}");

            ((Transporte)menosUm).EnviarMensagem(porta, destino, portaDestino, mensagem);
        }
コード例 #2
0
        /// <summary>
        /// Recebe mensagem de uma camada inferior
        /// </summary>
        /// <param name="enderecoOrigem"></param>
        /// <param name="portaOrigem"></param>
        /// <param name="mensagem"></param>
        public virtual void ReceberMensagem(Endereco enderecoOrigem, int portaOrigem, Mensagem mensagem)
        {
            TesteDeRede.ExibirEtapa();

            mensagem  = Tratar(mensagem);
            resultado = mensagem;

            Console.WriteLine("\n - - - - - - - FIM DO TRATAMENTO - - - - - - - -");
            Console.WriteLine($"Eu sou {Nome} e envio {mensagem.Tamanho} bytes: {mensagem}");

            EnviarMensagem(enderecoOrigem, portaOrigem, mensagem);
        }
コード例 #3
0
        public void EnviarMensagem(string nomeMaquina, int portaDestino, Mensagem mensagem)
        {
            TesteDeRede.ExibirEtapa();

            resultado = null;

            clienteDns.ConsultarServidorDNS(new Mensagem(nomeMaquina));
            var infoDNS = clienteDns.resultado;

            if (infoDNS != null)
            {
                var destino = infoDNS.ExtrairEndereco(4);
                ((Transporte)menosUm).EnviarMensagem(porta, destino, portaDestino, mensagem);
            }
            else
            {
                Console.WriteLine($"Máquina {nomeMaquina} desconhecida pelo servidor DNS");
            }
        }