Binance は、マーケットデータ、注文などのリアルタイムアップデートを受け取るために購読できるさまざまなチャンネルを提供しています。 以下にティッカーへの購読方法のサンプルを示します。
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;
Binance は 1 秒あたり 5 件を超えるメッセージを送信した接続を閉じるため、複数のシンボルのウォッチリストをサブスクライブしようとして個別の Subscribe メソッドをループで呼び出すだけでも、接続が失われることがあります。ストリーム名の配列を指定して SubscribeStreams を呼び出すと、クライアントはストリームごとに 1 つずつフレームを送信するのではなく、単一のフレームを送信します。 UnsubscribeStreams も同じように動作します。どちらのメソッドも、サーバーに送信されたメッセージの識別子を返します。
oBinance.SubscribeStreams(['btcusdt@aggTrade', 'btcusdt@depth', 'ethusdt@aggTrade']);
// and to unsubscribe
oBinance.UnsubscribeStreams(['btcusdt@aggTrade', 'btcusdt@depth']);
アプリケーションが短時間に多数のメッセージを送信する必要がある場合は、API クライアントの Throttle オプションを有効にしてください。このオプションは、一定の時間ウィンドウ内にクライアントが送信するメッセージ数を制限します。詳細は WebSocket APIs を参照してください。