Pusher Channels API
Pusher Channels client for Delphi — public, private and presence channels with WebSocket transport.
Pusher Channels client for Delphi — public, private and presence channels with WebSocket transport.
Pusher is an easy and reliable platform with nice features based on WebSocket protocol: flexible pub/sub messaging, live user lists (presence), authentication...
TsgcWSAPI_Pusher| Standards & specs | Pusher Channels documentation · Pusher Channels protocol reference |
| Component class | TsgcWSAPI_Pusher (unit sgcWebSocket_API_Pusher) |
| Frameworks | VCL, FireMonkey, Lazarus / FPC |
| Platforms | Windows, macOS, Linux, iOS, Android |
The principal published / public properties used to configure and drive the component. Consult the online help for the full list.
OnPusherAuthentication | Published or public property used to configure or query the component. |
Client | Published or public property used to configure or query the component. |
OnPusherSubscribe | Published or public property used to configure or query the component. |
OnConnect | Published or public property used to configure or query the component. |
OnDisconnect | Published or public property used to configure or query the component. |
OnMessage | Published or public property used to configure or query the component. |
OnBinary | Published or public property used to configure or query the component. |
OnFragmented | Published or public property used to configure or query the component. |
OnError | Published or public property used to configure or query the component. |
OnException | Published or public property used to configure or query the component. |
The principal public methods exposed by the component.
Ping() | Public procedure exposed by the component. |
Subscribe() | Public procedure exposed by the component. |
UnSubscribe() | Public procedure exposed by the component. |
Publish() | Public procedure exposed by the component. |
TerminateUserConnections() | Public function exposed by the component. |
TriggerBatchEvents() | Public function exposed by the component. |
TriggerEvent() | Public function exposed by the component. |
Drop the component on a form, configure the properties below and activate it. The snippet that follows shows the typical Binance | Connect WebSocket API configuration sourced from the online help.
oClient := TsgcWebSocketClient.Create(nil); oBinance := TsgcWSAPI_Binance.Create(nil); oBinance.Client := oClient; oClient.Active := True;
TsgcWebSocketClient *oClient = new TsgcWebSocketClient(NULL); TsgcWSAPI_Binance *oBinance = new TsgcWSAPI_Binance(NULL); oBinance->Client = oClient; oClient->Active = true;
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Binance oBinance = new TsgcWSAPI_Binance(); oBinance.Client = oClient; oClient.Active = true;
The following scenarios are lifted verbatim from the online help. Each shows the configuration and method calls needed to drive the component through a specific real-world flow.
In order to connect to Bitmex WebSocket API, just create a new Bitmex API client and attach to TsgcWebSocketClient.
oClient := TsgcWebSocketClient.Create(nil); oBitmex := TsgcWSAPI_Bitmex.Create(nil); oBitmex .Client := oClient; oClient.Active := True;
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Bitmex oBitmex = new TsgcWSAPI_Bitmex(); oBitmex->Client = oClient; oClient->Active = true;
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Bitmex oBitmex = new TsgcWSAPI_Bitmex(); oBitmex.Client = oClient; oClient.Active = true;
In order to connect to Coinbase WebSocket API, just create a new Coinbase API client and attach to TsgcWebSocketClient. See below an example:
oClient := TsgcWebSocketClient.Create(nil); oCoinbase := TsgcWSAPI_Coinbase.Create(nil); oCoinbase.Client := oClient; oClient.Active := True;
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Coinbase oCoinbase = new TsgcWSAPI_Coinbase(); oCoinbase->Client = oClient; oClient->Active = true;
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Coinbase oCoinbase = new TsgcWSAPI_Coinbase(); oCoinbase.Client = oClient; oClient.Active = true;
In order to connect to Kucoin WebSocket API, just create a new Kucoin API client and attach to TsgcWebSocketClient.
oClient := TsgcWebSocketClient.Create(nil); oKucoin := TsgcWSAPI_Kucoin.Create(nil); oKucoin.Client := oClient; oClient.Active := True;
TsgcWebSocketClient *oClient = new TsgcWebSocketClient(); TsgcWSAPI_Kucoin *oKucoin = new TsgcWSAPI_Kucoin(); oKucoin->Client = oClient; oClient->Active = true;
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Kucoin oKucoin = new TsgcWSAPI_Kucoin(); oKucoin.Client = oClient; oClient.Active = true;
In order to connect to Kucoin WebSocket API, just create a new Kucoin API client and attach to TsgcWebSocketClient.
oClient := TsgcWebSocketClient.Create(nil); oKucoin := TsgcWSAPI_Kucoin_Futures.Create(nil); oKucoin.Client := oClient; oClient.Active := True;
TsgcWebSocketClient *oClient = new TsgcWebSocketClient(); </code><code class="delphi">TsgcWSAPI_Kucoin_Futures </code><code class="cpp">*oKucoin = new </code><code class="delphi">TsgcWSAPI_Kucoin_Futures</code><code class="cpp">(); oKucoin->Client = oClient; oClient->Active = true;
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); </code><code class="delphi">TsgcWSAPI_Kucoin_Futures </code><code class="csharp">oKucoin = new </code><code class="delphi">TsgcWSAPI_Kucoin_Futures</code><code class="csharp">(); oKucoin.Client = oClient; oClient.Active = true;
Binance offers a variety of channels where you can subscribe to get real-time updates of market data, orders... Find below a sample of how to subscribe to a Ticker:
oClient := TsgcWebSocketClient.Create(nil); oBinance := TsgcWSAPI_Binance.Create(nil); oBinance.Client := oClient; oBinance.SubscribeTicker('bnbbtc'); procedure OnMessage(Connection: TsgcWSConnection; const aText: string); begin // here you will receive the ticker updates end;
TsgcWebSocketClient *oClient = new TsgcWebSocketClient(NULL); TsgcWSAPI_Binance *oBinance = new TsgcWSAPI_Binance(NULL); oBinance->Client = oClient; oBinance->SubscribeTicker("bnbbtc"); void OnMessage(TsgcWSConnection *Connection, const string aText) { // here you will receive the ticker updates }
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Binance oBinance = new TsgcWSAPI_Binance(); oBinance.Client = oClient; oBinance.SubscribeTicker("bnbbtc"); void OnMessage(TsgcWSConnection Connection, const string aText) { // here you will receive the ticker updates }
Bitmex offers a variety of channels where you can subscribe to get real-time updates of market data, orders... Find below a sample of how subscribe to a Trade Channel:
oClient := TsgcWebSocketClient.Create(nil); oBitmex := TsgcWSAPI_Bitmex.Create(nil); oBitmex.Client := oClient; oBitmex.Subscribe(btmTrade, 'XBTUSD'); procedure OnBitmexMessage(Sender: TObject; const aTopic: TwsBitmexTopics; const aMessage: string); begin // here you will receive the trade updates end;
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Bitmex oBitmex = new TsgcWSAPI_Bitmex(); oBitmex->Client = oClient; oBitmex->Subscribe(btmTrade, "XBTUSD"); void OnBitmexMessage(Sender: TObject; const aTopic: TwsBitmexTopics; const aMessage: string) { // here you will receive the trade updates }
TsgcWebSocketClient oClient = new TsgcWebSocketClient(); TsgcWSAPI_Bitmex oBitmex = new TsgcWSAPI_Bitmex(); oBitmex.Client = oClient; oBitmex.Subscribe(btmTrade, "xbtusd"); void OnBitmexMessage(Sender: TObject; const aTopic: TwsBitmexTopics; const aMessage: string) { // here you will receive the tradeupdates }
Every external claim links back to a primary source. The online-help references decode the canonical deep-link the company maintains for this component.