TsgcQUICServer › Propiedades › Host

Host Propiedad

Dirección de enlace del listener. Acepta una dirección IPv4, una dirección IPv6 o un nombre de host, y se enlaza a todas las interfaces cuando se deja vacío.

Sintaxis

property Host: String read FHost write FHost;

Valor Predeterminado

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

Observaciones

Host se hereda de la clase base del servidor UDP y selecciona la interfaz local a la que se enlaza el listener.

El listener de Delphi se enlaza a la dirección que usted indique. Cuando Start crea el listener, resuelve Host y enlaza el socket UDP a esa dirección, de modo que el servidor acepta conexiones QUIC únicamente en esa interfaz. Un Host vacío se enlaza al comodín dual-stack de IPv6 ::, de modo que un único listener acepta pares IPv6 e IPv4 en el puerto. En una máquina sin pila IPv6 recurre a 0.0.0.0, el comodín IPv4. Esto se aplica a ambos motores QUIC, el motor integrado de OpenSSL y el motor sgc (vea QUICMode). Si Host no se puede resolver, Start genera QUIC Server: Failed to resolve bind address "<host>", así que envuelva la llamada en un try..except como de costumbre.

La familia de direcciones depende del valor indicado. Un Host que contiene dos puntos se trata como un literal IPv6, en la forma simple ::1 o en la forma entre corchetes [::1] usada dentro de URLs. Cualquier otro valor, un literal IPv4 o un nombre de host, se resuelve en ambas familias, de modo que un nombre que solo publica registros AAAA también se enlaza. Cuando un nombre se resuelve en varias direcciones, cada candidata se prueba en el orden que devuelve el sistema operativo hasta que una de ellas se enlaza.

En la implementación .NET, Host se respeta de la misma manera: se analiza en el endpoint del listener, donde un valor vacío o 0.0.0.0 significa todas las interfaces IPv4, :: significa todas las interfaces IPv6, y cualquier otro valor se interpreta como una dirección IP (un valor no interpretable recurre a todas las interfaces IPv4).

Host es público pero no publicado por TsgcQUICServer, así que se asigna desde código.

Ejemplo


oServer := TsgcQUICServer.Create(nil);
// restringe el listener a esta interfaz, déjelo vacío para enlazar todas las interfaces
oServer.Host := '192.168.1.10';
oServer.Port := 4433;
oServer.QUICOptions.SSLOptions.CertFile := 'cert.pem';
oServer.QUICOptions.SSLOptions.KeyFile := 'key.pem';
oServer.Start;

Volver a Propiedades