TsgcQUICServer › Propriedades › Host

Host Propriedade

Endereço de vínculo do listener. Aceita um endereço IPv4, um endereço IPv6 ou um nome de host, e vincula todas as interfaces quando deixado vazio.

Sintaxe

property Host: String read FHost write FHost;

Valor Padrão

'' (Delphi), "0.0.0.0" (.NET)

Observações

Host é herdada da classe base do servidor UDP e seleciona a interface local à qual o listener se vincula.

O listener Delphi vincula o endereço definido. Quando Start cria o listener, ele resolve Host e vincula o socket UDP a esse endereço, portanto o servidor aceita conexões QUIC apenas nessa interface. Um Host vazio vincula o curinga dual-stack IPv6 ::, de modo que um único listener aceita tanto peers IPv6 quanto IPv4 na porta. Em uma máquina sem pilha IPv6, ele recorre a 0.0.0.0, o curinga IPv4. Isso vale para os dois mecanismos QUIC, o mecanismo integrado do OpenSSL e o mecanismo sgc (veja QUICMode). Se Host não puder ser resolvido, Start gera QUIC Server: Failed to resolve bind address "<host>", portanto encapsule a chamada em um try..except como de costume.

A família de endereços segue o valor definido. Um Host contendo dois-pontos é tratado como um literal IPv6, na forma simples ::1 ou na forma entre colchetes [::1] usada em URLs. Qualquer outro valor, um literal IPv4 ou um nome de host, é resolvido nas duas famílias, de modo que um nome que só publica registros AAAA também se vincula. Quando um nome resolve para vários endereços, cada candidato é tentado na ordem em que o sistema operacional os retorna até que um deles se vincule.

Na implementação .NET, Host é respeitado da mesma forma: é interpretado no endpoint do listener, onde um valor vazio ou 0.0.0.0 significa todas as interfaces IPv4, :: significa todas as interfaces IPv6, e qualquer outro valor é interpretado como um endereço IP (um valor não interpretável recorre a todas as interfaces IPv4).

Host é pública, mas não é published por TsgcQUICServer, portanto é atribuída via código.

Exemplo


oServer := TsgcQUICServer.Create(nil);
// restringe o listener a esta interface, deixe vazio para vincular todas as interfaces
oServer.Host := '192.168.1.10';
oServer.Port := 4433;
oServer.QUICOptions.SSLOptions.CertFile := 'cert.pem';
oServer.QUICOptions.SSLOptions.KeyFile := 'key.pem';
oServer.Start;

Voltar para Propriedades