TsgcWSServer_HTTPAPI_WebBrokerBridge

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.

 

Configuración

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

Eventos


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;