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