TsgcWebSocketServer_HTTPAPI

HTTP Server API umożliwia aplikacjom komunikację przez HTTP bez korzystania z Microsoft Internet Information Server (IIS).

Wprowadzenie

HTTP Server API umożliwia aplikacjom komunikację przez HTTP bez korzystania z Microsoft Internet Information Server (IIS). Aplikacje mogą rejestrować się w celu odbierania żądań HTTP dla określonych URL, odbierać żądania WebSocket i wysyłać odpowiedzi WebSocket. HTTP Server API obsługuje SSL, dzięki czemu aplikacje mogą wymieniać dane przez bezpieczne połączenia HTTP bez IIS. Jest również zaprojektowany do współpracy z portami uzupełniania operacji wejścia/wyjścia (I/O completion ports).

 

Serwer obsługuje następujące protokoły:

 

 

Domyślnie ten komponent wymaga uruchomienia aplikacji w trybie administratora w celu rejestracji adresu URL. Jeśli adres URL został już zarejestrowany za pomocą zewnętrznego narzędzia, takiego jak netsh, aplikacja może działać bez uprawnień administratora. Należy wówczas wyłączyć właściwość BindingOptions.ConfigureSSLCertificate, co umożliwi uruchomienie aplikacji bez praw administratora.

Ustaw FastMM4/FastMM5 jako pierwszą jednostkę projektu.

 

Należy wykonać poniższe kroki w celu skonfigurowania tego komponentu:

 

1. Upuść komponent TsgcWebSocketServer_HTTPAPI na formularzu

 

2. Zdefiniuj adres nasłuchiwania i port:

 


    Server.Host := '127.0.0.1';
    Server.Port := 80;

 

3. Należy ustawić dozwolone specyfikacje; domyślnie wszystkie specyfikacje są dozwolone.

 

RFC6455: jest standardową i zalecaną specyfikacją WebSocket.

 

Hixie76: jest to wersja robocza i zaleca się nawiązywanie połączeń Hixie76 wyłącznie w celu zapewnienia obsługi starych przeglądarek, takich jak Safari 4.2

 

5. Utwórz procedurę i ustaw właściwość Active = true

 

URL Reservation

Serwer HTTP.SYS używa rezerwacji adresów URL do przypisywania punktów końcowych URL wykorzystywanych przez serwer HTTP.SYS.

 

Podstawowa rezerwacja URL

 

Jest to najprostszy tryb konfiguracji serwera: wystarczy ustawić Host i Port, które będzie obsługiwać serwer HTTP.SYS.

Przykład: jeśli serwer działa pod adresem IP 127.0.0.1 i portem 80, wystarczy ustawić następujące właściwości


    Server.Host := '127.0.0.1';
    Server.Port := 80;

 

Jeśli serwer działa na wielu adresach IP i wymagane jest powiązanie z kilkoma z nich, należy użyć metody NewBinding. Należy najpierw wyczyścić właściwości Host i Bindings, a następnie użyć metody NewBinding, aby zdefiniować wszystkie powiązania serwera.


    Server.Host := '';
    Server.Bindings.Clear;
    Server.Bindings.NewBinding('127.0.0.1', 80, '');
    Server.Bindings.NewBinding('80.50.55.11', 80, '');

Jeśli serwer wymaga połączeń SSL, należy wykonać następujące czynności, aby zdefiniować host i port obsługujące połączenia SSL.


    Server.Host := '127.0.0.1';
    Server.Port := 443;
    Server.SSL := True;
    Server.SSLOptions.Hash := 'CERTIFICATE_HASH';

Jeśli serwer wymaga połączeń SSL z wieloma adresami IP, należy najpierw wyczyścić właściwości Host i Bindings, a następnie zarejestrować nowe powiązania.


    Server.Host := '';
    Server.Bindings.Clear;
    Server.Bindings.NewBinding('127.0.0.1', 443, '', true, 'CERTIFICATE_HASH1');
    Server.Bindings.NewBinding('80.50.55.11', 443, '', true, 'CERTIFICATE_HASH2');

Dokumentacja

Przewodniki