TsgcQUICServer › Eigenschappen › Host

Host Eigenschap

Bindadres voor de listener. Accepteert een IPv4-adres, een IPv6-adres of een hostnaam, en bindt elke interface wanneer het leeg wordt gelaten.

Syntaxis

property Host: String read FHost write FHost;

Standaardwaarde

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

Opmerkingen

Host wordt overgeërfd van de UDP-serverbasisklasse en selecteert de lokale interface waaraan de listener bindt.

De Delphi-listener bindt aan het adres dat u instelt. Wanneer Start de listener aanmaakt, wordt Host herleid en bindt de UDP-socket aan dat adres, zodat de server QUIC-verbindingen alleen op die interface accepteert. Een leeg Host bindt de dual-stack IPv6-wildcard ::, zodat een enkele listener zowel IPv6- als IPv4-peers op de poort accepteert. Op een machine zonder IPv6-stack valt dit terug op 0.0.0.0, de IPv4-wildcard. Dit geldt voor beide QUIC-engines, de ingebouwde OpenSSL-engine en de sgc-engine (zie QUICMode). Als Host niet kan worden herleid, geeft Start de uitzondering QUIC Server: Failed to resolve bind address "<host>", dus omsluit de aanroep zoals gebruikelijk met try..except.

De adresfamilie volgt de ingestelde waarde. Een Host met een dubbele punt wordt behandeld als een IPv6-literal, in de kale vorm ::1 of in de vorm met haakjes [::1] zoals gebruikt in URL's. Elke andere waarde, een IPv4-literal of een hostnaam, wordt herleid over beide families, zodat een naam die alleen AAAA-records publiceert ook bindt. Wanneer een naam naar meerdere adressen herleidt, wordt elke kandidaat geprobeerd in de volgorde die het besturingssysteem teruggeeft, totdat er één bindt.

In de .NET-implementatie wordt Host op dezelfde manier gehonoreerd: het wordt geparst naar het listener-eindpunt, waarbij een lege waarde of 0.0.0.0 alle IPv4-interfaces betekent, :: alle IPv6-interfaces, en elke andere waarde wordt geparst als IP-adres (een onparsbare waarde valt terug op alle IPv4-interfaces).

Host is public maar niet published bij TsgcQUICServer, dus wordt vanuit code toegewezen.

Voorbeeld


oServer := TsgcQUICServer.Create(nil);
// beperkt de listener tot deze interface, laat leeg om elke interface te binden
oServer.Host := '192.168.1.10';
oServer.Port := 4433;
oServer.QUICOptions.SSLOptions.CertFile := 'cert.pem';
oServer.QUICOptions.SSLOptions.KeyFile := 'key.pem';
oServer.Start;

Terug naar Properties