TsgcWSServer_HTTPAPI_WebBrokerBridge gebruik TsgcWebSocketServer_HTTPAPI met HTTP/2-protocol ingeschakeld als serverbasis en is nuttig als u één server wilt gebruiken voor DataSnap-, HTTP/2- en WebSocket-verbindingen.
TsgcWSServer_HTTPAPI_WebBrokerBridge erft over van TsgcWebSocketServer_HTTPAPI, zodat u naar deze server kunt verwijzen.
Volg de volgende stappen om TIdHttpWebBrokerBridge te vervangen door TsgcWSServer_HTTPAPI_WebBrokerBridge:
1. Maak een nieuw exemplaar aan van TsgcWSServer_HTTPAPI_WebBrokerBridge.
2. Vervang alle aanroepen naar TIdHttpWebBrokerBridge door TsgcWSServer_HTTPAPI_WebBrokerBridge.
3. Voor het verwerken van WebSocket-verbindingen verwijst u naar TsgcWSServer_HTTPAPI_WebBrokerBridge.
De Datasnap-componenten bevinden zich alleen in de map Source; u vindt ze niet in de gecompileerde mappen omdat deze objecten niet zijn opgenomen in het sgcWebSockets-pakket, dus u moet ze tijdens runtime aanmaken.
Voeg gewoon de vereiste bestanden toe aan uw project of stel uw pad in op de Source-map van het sgcWebSockets-pakket. Vereiste bestanden:
Als het project gebruikmaakt van IdHTTPWebBrokerBridge, wijzig dit dan naar sgcIdHTTPWebBrokerBridge (dit geldt alleen voor de 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;