Binance | Subskrybuj kanał WebSocket

Binance oferuje wiele kanałów, na które można subskrybować w celu otrzymywania aktualizacji danych rynkowych, zleceń w czasie rzeczywistym... Poniżej przedstawiono przykład subskrypcji Tickera:


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;

Subskrypcja kilku strumieni za pomocą pojedynczej ramki

Binance zamyka połączenie, które wysyła więcej niż 5 wiadomości na sekundę, więc subskrybowanie listy obserwowanych kilku symboli poprzez wywoływanie pojedynczych metod Subscribe w pętli może wystarczyć do utraty połączenia. Należy wywołać SubscribeStreams z tablicą nazw strumieni, a klient wyśle pojedynczą ramkę zamiast jednej ramki na strumień. UnsubscribeStreams działa w ten sam sposób. Obie metody zwracają identyfikator wiadomości wysłanej do serwera.


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

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

Jeśli aplikacja mimo to musi wysyłać wiele wiadomości w krótkim czasie, należy włączyć opcję Throttle klienta API, która ogranicza liczbę wiadomości wysyłanych przez klienta w oknie czasowym. Szczegóły opisano w temacie WebSocket APIs.