TsgcWSServer_HTTPAPI_WebBrokerBridge utilizza TsgcWebSocketServer_HTTPAPI con il protocollo HTTP/2 abilitato come base server ed è utile quando si desidera utilizzare un singolo server per connessioni DataSnap, HTTP/2 e WebSocket.
TsgcWSServer_HTTPAPI_WebBrokerBridge eredita da TsgcWebSocketServer_HTTPAPI, quindi può fare riferimento a questo server.
Seguire i passaggi successivi per sostituire TIdHttpWebBrokerBridge con TsgcWSServer_HTTPAPI_WebBrokerBridge:
1. Creare una nuova istanza di TsgcWSServer_HTTPAPI_WebBrokerBridge.
2. Sostituire tutte le chiamate a TIdHttpWebBrokerBridge con TsgcWSServer_HTTPAPI_WebBrokerBridge.
3. Per gestire le connessioni WebSocket, fare riferimento a TsgcWSServer_HTTPAPI_WebBrokerBridge.
I componenti Datasnap si trovano solo nella cartella Source; non saranno trovati nelle cartelle compilate perché questi oggetti non sono inclusi nel pacchetto sgcWebSockets, quindi devono essere creati in fase di esecuzione.
Aggiungere semplicemente i file richiesti al progetto o impostare il percorso alla cartella Source del pacchetto sgcWebSockets. File richiesti:
Se il progetto utilizza IdHTTPWebBrokerBridge passi a sgcIdHTTPWebBrokerBridge (questo si applica solo per l'Enterprise Edition).
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;