WebBroker + WebSockets
基于 Indy 的 WebBroker / DataSnap 主机,同时在同一端口接受原生 WebSocket 升级请求。跨平台——支持 Windows、Linux 和 macOS。
基于 Indy 的 WebBroker / DataSnap 主机,同时在同一端口接受原生 WebSocket 升级请求。跨平台——支持 Windows、Linux 和 macOS。
将 Embarcadero 的 WebBroker 管道(TWebModule、DataSnap REST、RAD Server)桥接到跨平台 Indy 服务器,并在同一监听器上原生处理 WebSocket 升级请求。
TsgcWSHTTPWebBrokerBridgeServer
Windows, macOS, Linux, iOS, Android
Enterprise
通过 WebRequestHandler 挂载您的 TWebModule,配置桥接服务器的端口和 SSL,为 WebSocket 升级路径附加 OnConnect,然后设置 Active := True。
uses
sgcWebSocket, sgcWebSocket_DataSnap, WebReq, WebModuleUnit1;
var
Server: TsgcWSHTTPWebBrokerBridgeServer;
begin
if WebRequestHandler <> nil then
WebRequestHandler.WebModuleClass := WebModuleClass;
Server := TsgcWSHTTPWebBrokerBridgeServer.Create(nil);
Server.Port := 8080;
// the same server accepts WebSocket upgrades
Server.OnMessage := procedure(Connection: TsgcWSConnection;
const aText: string)
begin
Connection.WriteData('echo: ' + aText);
end;
Server.Active := True;
end;
纯 Delphi 跨平台 WebBroker 主机——在 Linux 和 Windows 上均可运行,包括 DataSnap REST 和 RAD Server 端点。
入站 HTTP 请求通过标准 WebRequestHandler / WebModule 链处理,现有 DataSnap REST 和 TWebModule 处理程序无需修改即可正常运行。
WebSocket 升级由同一组件处理——OnMessage、OnBinary、OnConnect、OnDisconnect 均可与 HTTP 并行使用。
为 HTTPS 配置 SSLOptions(CertFile / KeyFile / RootCertFile)——相同的 TLS 设置同时覆盖 HTTP 和 WebSocket 流量。
可在 Indy 支持的任何平台上运行——Windows、Linux 64、macOS——是需要在 Windows 之外部署的 DataSnap 服务的首选。
CORS 预检处理、基于路由的重定向和 IP 过滤均以属性形式暴露——无需在每个 WebModule 中手动实现。
如需为同一 WebBroker 技术栈添加 HTTP/2 支持,请使用同系组件 TsgcWSHTTP2WebBrokerBridgeServer——接口完全相同,另增 HTTP/2 帧支持。
本组件实现协议的权威来源。