/**
         * 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);;
            }
        }
Пример #2
0
 /**
  * <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;
 }