TsgcWSHTTP2WebBrokerBridgeServer usa o TsgcWebSocketHTTPServer com HTTP/2 protocolo habilitado como servidor base e é útil se você quiser usar um único servidor para conexões DataSnap, HTTP/2 e WebSocket.
O TsgcWSHTTP2WebBrokerBridgeServer herda de TsgcWebSocketHTTPServer, portanto você pode consultar este servidor.
Siga os próximos passos para substituir TIdHttpWebBrokerBridge por TsgcWSHTTP2WebBrokerBridgeServer :
1. Crie uma nova instância de TsgcWSHTTP2WebBrokerBridgeServer.
2. Substitua todas as chamadas a TIdHttpWebBrokerBridge por TsgcWSHTTP2WebBrokerBridgeServer.
3. Para tratar conexões WebSocket, basta consultar TsgcWebSocketHTTPServer.
Os componentes Datasnap estão localizados apenas na pasta Source; você não os encontrará nas pastas compiladas, porque esses objetos não estão incluídos no pacote sgcWebSockets, portanto você deve criá-los em tempo de execução.
Basta adicionar os arquivos necessários ao seu projeto ou definir o caminho para a pasta Source do pacote sgcWebSockets. Arquivos necessários:
Se o projeto fizer uso de IdHTTPWebBrokerBridge, altere para sgcIdHTTPWebBrokerBridge (isto se aplica apenas à Enterprise Edition).
FServer := TsgcWSHTTP2WebBrokerBridgeServer.Create(Self);
FServer.OnCommandRequest := OnCommandRequestEvent;
FServer.OnCommandGet := OnCommandGetevent;
procedure OnCommandRequestEvent(AThread: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; var aHandled: Boolean);
begin
if ARequestInfo.Document = '/test.html' then
aHandled := True;
end;
procedure OnCommandGetevent(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo);
begin
if ARequestInfo.Document = '/test.html' then
begin
AResponseInfo.ResponseNo := 200;
AResponseInfo.ContentText := 'hello all';
end;
end;