TsgcWSServer_HTTPAPI_WebBrokerBridge

TsgcWSServer_HTTPAPI_WebBrokerBridge utilise TsgcWebSocketServer_HTTPAPI avec HTTP/2 activé comme base serveur et est utile si vous souhaitez utiliser un serveur unique pour les connexions DataSnap, HTTP/2 et WebSocket.

 

TsgcWSServer_HTTPAPI_WebBrokerBridge hérite de TsgcWebSocketServer_HTTPAPI, vous pouvez donc faire référence à ce serveur.

 

Suivez les étapes suivantes pour remplacer TIdHttpWebBrokerBridge par TsgcWSServer_HTTPAPI_WebBrokerBridge :

 

1. Créez une nouvelle instance de TsgcWSServer_HTTPAPI_WebBrokerBridge.

 

2. Remplacez tous les appels à TIdHttpWebBrokerBridge par TsgcWSServer_HTTPAPI_WebBrokerBridge.

 

3. Pour gérer les connexions WebSocket, référez-vous à TsgcWSServer_HTTPAPI_WebBrokerBridge.

 

Configuration

Les composants Datasnap ne se trouvent que dans le dossier Source ; vous ne les trouverez pas dans les dossiers compilés car ces objets ne sont pas inclus dans le package sgcWebSockets, vous devez donc les créer à l'exécution.

Ajoutez simplement les fichiers requis à votre projet ou définissez votre chemin vers le dossier Source du package sgcWebSockets. Fichiers requis :

 

 

Si le projet utilise IdHTTPWebBrokerBridge, remplacez-le par sgcIdHTTPWebBrokerBridge (applicable uniquement pour l'édition Enterprise).

Événements


FServer := TsgcWSServer_HTTPAPI_WebBrokerBridge.Create(Self);
FServer.OnCommandRequest := OnCommandRequestEvent;
FServer.OnMessage := OnWebSocketMessage;
  
procedure OnCommandRequestEvent(aConnection : TsgcWSConnection_HTTPAPI; 
  const aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse; var aHandled: Boolean);
begin
  if ARequestInfo.Document = '/test.html' then
  begin
    AResponseInfo.ResponseNo := 200;
    AResponseInfo.ContentText := '... body ...';
    aHandled := True;
  end;
end;
procedure OnWebSocketMessage(aConnection: TsgcWSConnection; const aText: string);
begin
  aConnection.WriteData(aText);
end;