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.
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).
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;