Binance | 订阅 WebSocket 频道

Binance 提供多种频道供您订阅,以获取市场数据、订单等的实时更新。 以下是订阅 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;

使用单个帧订阅多个流

Binance 会关闭每秒发送超过 5 条消息的连接,因此在循环中调用各个 Subscribe 方法来订阅包含多个交易品种的自选列表,就足以导致连接丢失。使用流名称数组调用 SubscribeStreams,客户端将发送单个帧,而不是每个流一个帧。 UnsubscribeStreams 的工作方式相同。这两个方法都返回发送到服务器的消息的标识符。


oBinance.SubscribeStreams(['btcusdt@aggTrade', 'btcusdt@depth', 'ethusdt@aggTrade']);

// and to unsubscribe
oBinance.UnsubscribeStreams(['btcusdt@aggTrade', 'btcusdt@depth']);

如果应用程序仍需要在短时间内发送大量消息,请启用 API 客户端的 Throttle 选项,它会限制客户端在一个时间窗口内发送的消息数量。有关详细信息,请阅读 WebSocket APIs