TsgcQUICServer › Właściwości › Host
Adres wiązania nasłuchiwacza. Akceptuje adres IPv4, adres IPv6 lub nazwę hosta; pozostawiony pusty wiąże wszystkie interfejsy.
property Host: String read FHost write FHost;
'' (Delphi), "0.0.0.0" (.NET)
Host jest dziedziczone z klasy bazowej serwera UDP i wybiera lokalny interfejs, z którym wiąże się nasłuchiwacz.
Nasłuchiwacz Delphi wiąże się z podanym adresem. Gdy Start tworzy nasłuchiwacz, rozwiązuje Host i wiąże gniazdo UDP z tym adresem, więc serwer akceptuje połączenia QUIC wyłącznie na tym interfejsie. Pusty Host wiąże symbol wieloznaczny dual-stack IPv6 ::, więc pojedynczy nasłuchiwacz akceptuje zarówno partnerów IPv6, jak i IPv4 na tym porcie. Na maszynie bez stosu IPv6 następuje przejście na 0.0.0.0, symbol wieloznaczny IPv4. Dotyczy to obu silników QUIC, silnika wbudowanego OpenSSL i silnika sgc (zobacz QUICMode). Jeśli Host nie może zostać rozwiązany, Start zgłasza QUIC Server: Failed to resolve bind address "<host>", więc jak zwykle należy opakować wywołanie w try..except.
Rodzina adresów zależy od podanej wartości. Host zawierający dwukropek jest traktowany jako literał IPv6, w postaci prostej ::1 lub w postaci z nawiasami kwadratowymi [::1] używanej w adresach URL. Każda inna wartość, literał IPv4 lub nazwa hosta, jest rozwiązywana w obu rodzinach, więc nazwa publikująca wyłącznie rekordy AAAA także zostanie związana. Gdy nazwa rozwiązuje się do kilku adresów, każdy kandydat jest próbowany w kolejności zwróconej przez system operacyjny, aż jeden z nich zostanie związany.
W implementacji .NET Host jest respektowane w ten sam sposób: jest analizowane do punktu końcowego nasłuchiwacza, gdzie pusta wartość lub 0.0.0.0 oznacza wszystkie interfejsy IPv4, :: oznacza wszystkie interfejsy IPv6, a każda inna wartość jest analizowana jako adres IP (wartość, której nie da się przeanalizować, powoduje przejście na wszystkie interfejsy IPv4).
Host jest publiczne, ale nie publikowane przez TsgcQUICServer, więc jest przypisywane z kodu.
oServer := TsgcQUICServer.Create(nil);
// ogranicza nasłuchiwacz do tego interfejsu, pozostaw puste, aby powiązać wszystkie interfejsy
oServer.Host := '192.168.1.10';
oServer.Port := 4433;
oServer.QUICOptions.SSLOptions.CertFile := 'cert.pem';
oServer.QUICOptions.SSLOptions.KeyFile := 'key.pem';
oServer.Start;