TsgcWSHTTP2WebBrokerBridgeServer verwendet TsgcWebSocketHTTPServer mit aktiviertem HTTP/2-Protokoll als Server-Basis und ist nützlich, wenn Sie einen einzelnen Server für DataSnap-, HTTP/2- und WebSocket-Verbindungen verwenden möchten.
TsgcWSHTTP2WebBrokerBridgeServer erbt von TsgcWebSocketHTTPServer, sodass Sie sich auf diesen Server beziehen können.
Folgen Sie den nächsten Schritten, um TIdHttpWebBrokerBridge durch TsgcWSHTTP2WebBrokerBridgeServer zu ersetzen:
1. Erstellen Sie eine neue Instanz von TsgcWSHTTP2WebBrokerBridgeServer.
2. Ersetzen Sie alle Aufrufe von TIdHttpWebBrokerBridge durch TsgcWSHTTP2WebBrokerBridgeServer.
3. Um WebSocket-Verbindungen zu behandeln, beziehen Sie sich einfach auf TsgcWebSocketHTTPServer.
Die Datasnap-Komponenten befinden sich nur im Source-Ordner, Sie finden sie nicht in den kompilierten Ordnern, da diese Objekte nicht im sgcWebSockets-Paket enthalten sind, sodass Sie sie zur Laufzeit erstellen müssen.
Fügen Sie einfach die erforderlichen Dateien zu Ihrem Projekt hinzu oder setzen Sie Ihren Pfad auf den Source-Ordner des sgcWebSockets-Package. Erforderliche Dateien:
Wenn das Projekt IdHTTPWebBrokerBridge verwendet, wechseln Sie zu sgcIdHTTPWebBrokerBridge (dies gilt nur für die 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;