TsgcWSServer_HTTPAPI_WebBrokerBridge utiliza TsgcWebSocketServer_HTTPAPI con el protocolo HTTP/2 habilitado como base del servidor y resulta útil si desea utilizar un único servidor para conexiones DataSnap, HTTP/2 y WebSocket.
TsgcWSServer_HTTPAPI_WebBrokerBridge hereda de TsgcWebSocketServer_HTTPAPI, por lo que puede hacer referencia a este servidor.
Siga los pasos siguientes para reemplazar TIdHttpWebBrokerBridge por TsgcWSServer_HTTPAPI_WebBrokerBridge:
1. Cree una nueva instancia de TsgcWSServer_HTTPAPI_WebBrokerBridge.
2. Reemplace todas las llamadas a TIdHttpWebBrokerBridge por TsgcWSServer_HTTPAPI_WebBrokerBridge.
3. Para gestionar conexiones WebSocket consulte TsgcWSServer_HTTPAPI_WebBrokerBridge.
Los componentes Datasnap se encuentran únicamente en la carpeta Source; no los encontrará en las carpetas compiladas porque estos objetos no están incluidos en el paquete sgcWebSockets, por lo que debe crearlos en tiempo de ejecución.
Simplemente añada los archivos necesarios a su proyecto o establezca la ruta a la carpeta Source del paquete sgcWebSockets. Archivos necesarios:
Si el proyecto utiliza IdHTTPWebBrokerBridge, cámbielo por sgcIdHTTPWebBrokerBridge (esto solo aplica para la edición 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;