TsgcWSServer_HTTPAPI_WebBrokerBridge

TsgcWSServer_HTTPAPI_WebBrokerBridge, sunucu temeli olarak TsgcWebSocketServer_HTTPAPI ile HTTP/2 protokolü etkinleştirilmiş olarak kullanır ve DataSnap, HTTP/2 ve WebSocket bağlantıları için tek bir sunucu kullanmak istiyorsanız faydalıdır.

 

TsgcWSServer_HTTPAPI_WebBrokerBridge, TsgcWebSocketServer_HTTPAPI öğesinden devralır, bu nedenle bu sunucuya başvurabilirsiniz.

 

TIdHttpWebBrokerBridge'i TsgcWSServer_HTTPAPI_WebBrokerBridge ile değiştirmek için sonraki adımları izleyin:

 

1. TsgcWSServer_HTTPAPI_WebBrokerBridge öğesinin yeni bir örneğini oluşturun.

 

2. TIdHttpWebBrokerBridge öğesine yapılan tüm çağrıları TsgcWSServer_HTTPAPI_WebBrokerBridge ile değiştirin.

 

3. WebSocket bağlantılarını işlemek için yalnızca TsgcWSServer_HTTPAPI_WebBrokerBridge öğesine bakın.

 

Configuration

Datasnap bileşenleri yalnızca Source klasöründe bulunur, derlenmiş klasörlerde bulamazsınız çünkü bu nesneler sgcWebSockets paketine dahil değildir, bu nedenle çalışma zamanında oluşturmanız gerekir.

Yalnızca gerekli dosyaları projenize ekleyin veya yolunuzu sgcWebSockets paketinin Source klasörüne ayarlayın. Gerekli dosyalar:

 

 

Proje IdHTTPWebBrokerBridge kullanıyorsa sgcIdHTTPWebBrokerBridge'e geçin (bu yalnızca Enterprise Edition için geçerlidir).

Olaylar


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;