/** * Data: 27/02/2019 * Construtor da classe que configura os principais variáveis da classe; * Return: void */ public Server_StreamClose(int port = 0, string IP = null) { try { PORT = port == 0 ? 80 : port; NomeLocalMaquina = Dns.GetHostName(); //Obtém o nome da máquina local IPsHost = Dns.GetHostEntry(NomeLocalMaquina); //Obtém uma lista de endereços de ips locais TEndPoint = __Autenticacao.Cliente; /*Se não for, explicitamente informado o tipo de Serviço, será utilizado o serviço de Cliente*/ if (IP == null) { IPEscutar = IPsHost.AddressList[2]; //Falta implementar a seleção de qual ip será utilizado quando existir mais IP } else { IPEscutar = IPAddress.Parse(IP); bool Test = false; foreach (IPAddress Ips in IPsHost.AddressList) { if (Ips.Equals(IPEscutar)) { Test = true; } } if (!Test) { throw new Exception("O ip informado não coincide com os IPs desta máquina."); } } } catch (Exception e) { TratadorErros(e, this.GetType().Name);; } }
/** * <summary> * Define o tipo de servidor que a estação esta funcionando. * </summary> */ public void TipoServidor(__Autenticacao Auth) { TEndPoint = Auth; }
/** * <summary> * Promove a estação a um utilizador. * </summary> */ public void PromoverUtilizador() { TEndPoint = __Autenticacao.Cliente; }
/** * <summary> * Promove a estação a um controlador. * </summary> */ public void PromoverControlador() { TEndPoint = __Autenticacao.Servidor; }