TsgcWSHTTP2WebBrokerBridgeServer

TsgcWSHTTP2WebBrokerBridgeServer używa TsgcWebSocketHTTPServer z włączonym protokołem HTTP/2 jako bazą serwera i jest przydatny, gdy chce się używać jednego serwera dla połączeń DataSnap, HTTP/2 i WebSocket.

TsgcWSHTTP2WebBrokerBridgeServer dziedziczy po TsgcWebSocketHTTPServer, dlatego można odwoływać się do tego serwera.

Należy wykonać poniższe kroki, aby zastąpić TIdHttpWebBrokerBridge przez TsgcWSHTTP2WebBrokerBridgeServer :

1. Utwórz nową instancję TsgcWSHTTP2WebBrokerBridgeServer.

2. Zastąp wszystkie wywołania TIdHttpWebBrokerBridge przez TsgcWSHTTP2WebBrokerBridgeServer.

3. Aby obsługiwać połączenia WebSocket, należy odwołać się do TsgcWebSocketHTTPServer.

Konfiguracja

Komponenty Datasnap znajdują się wyłącznie w folderze Source; nie znajdziesz ich w skompilowanych folderach, ponieważ te obiekty nie są dołączone do pakietu sgcWebSockets, dlatego należy je tworzyć w czasie wykonania.

Wystarczy dodać wymagane pliki do projektu lub ustawić ścieżkę do folderu Source pakietu sgcWebSockets. Wymagane pliki:

Jeśli projekt korzysta z IdHTTPWebBrokerBridge, należy zastąpić go komponentem sgcIdHTTPWebBrokerBridge (dotyczy wyłącznie edycji Enterprise).

Zdarzenia


FServer := TsgcWSHTTP2WebBrokerBridgeServer.Create(Self);
FServer.OnCommandRequest := OnCommandRequestEvent;
FServer.OnCommandGet := OnCommandGetevent;

procedure OnCommandRequestEvent(AThread: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; var aHandled: Boolean);
begin
  if ARequestInfo.Document = '/test.html' then
    aHandled := True;
end;

procedure OnCommandGetevent(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo);
begin
  if ARequestInfo.Document = '/test.html' then
  begin
    AResponseInfo.ResponseNo := 200;
    AResponseInfo.ContentText := 'hello all';
  end;
end;