Class WebsocketClientImpl

java.lang.Object
com.binance.connector.client.impl.WebsocketClientImpl
All Implemented Interfaces:
WebsocketClient

public class WebsocketClientImpl extends Object implements WebsocketClient

Websocket Streams

All stream endpoints under the Websocket Market Streams and User Data Streams section of the API documentation will be implemented in this class.
Response will be returned as callback.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    aggTradeStream​(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
    The Aggregate Trade Streams push trade information that is aggregated for a single taker order.
    int
    aggTradeStream​(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as aggTradeStream(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    allBookTickerStream​(com.binance.connector.client.utils.WebSocketCallback callback)
    Pushes any update to the best bid or ask's price or quantity in real-time for all symbols.
    int
    allBookTickerStream​(com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as allBookTickerStream(WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    allMiniTickerStream​(com.binance.connector.client.utils.WebSocketCallback callback)
    24hr rolling window mini-ticker statistics for all symbols that changed in an array.
    int
    allMiniTickerStream​(com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as allMiniTickerStream(WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    allTickerStream​(com.binance.connector.client.utils.WebSocketCallback callback)
    24hr rolling window ticker statistics for all symbols that changed in an array.
    int
    allTickerStream​(com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as allTickerStream(WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    bookTicker​(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
    Pushes any update to the best bid or ask's price or quantity in real-time for a specified symbol.
    int
    bookTicker​(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as bookTicker(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    void
    Closes all streams
    void
    closeConnection​(int connectionId)
    Closes a specific stream based on stream Id.
    int
    combineStreams​(ArrayList<String> streams, com.binance.connector.client.utils.WebSocketCallback callback)
    Combined streams are accessed at /stream?streams=<streamName1>/<streamName2>/<streamName3>
    int
    combineStreams​(ArrayList<String> streams, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as combineStreams(ArrayList, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    diffDepthStream​(String symbol, int speed, com.binance.connector.client.utils.WebSocketCallback callback)
    Order book price and quantity depth updates used to locally manage an order book.
    int
    diffDepthStream​(String symbol, int speed, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as diffDepthStream(String, int, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    klineStream​(String symbol, String interval, com.binance.connector.client.utils.WebSocketCallback callback)
    The Kline/Candlestick Stream push updates to the current klines/candlestick every second.
    int
    klineStream​(String symbol, String interval, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as klineStream(String, String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    listenUserStream​(String listenKey, com.binance.connector.client.utils.WebSocketCallback callback)
    User Data Streams are accessed at /ws/<listenKey>
    int
    listenUserStream​(String listenKey, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as listenUserStream(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    miniTickerStream​(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
    24hr rolling window mini-ticker statistics.
    int
    miniTickerStream​(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as miniTickerStream(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    partialDepthStream​(String symbol, int levels, int speed, com.binance.connector.client.utils.WebSocketCallback callback)
    Top bids and asks, Valid are 5, 10, or 20.
    int
    partialDepthStream​(String symbol, int levels, int speed, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as partialDepthStream(String, int, int, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    symbolTicker​(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
    24hr rolling window ticker statistics for a single symbol.
    int
    symbolTicker​(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as symbolTicker(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
    int
    tradeStream​(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
    The Trade Streams push raw trade information; each trade has a unique buyer and seller.
    int
    tradeStream​(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
    Same as tradeStream(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • WebsocketClientImpl

      public WebsocketClientImpl()
    • WebsocketClientImpl

      public WebsocketClientImpl(String baseUrl)
  • Method Details

    • aggTradeStream

      public int aggTradeStream(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
      The Aggregate Trade Streams push trade information that is aggregated for a single taker order.

      <symbol>@aggTrade

      Update Speed: Real-time
      Specified by:
      aggTradeStream in interface WebsocketClient
      Parameters:
      symbol - Name of trading pair
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#aggregate-trade-streams
    • aggTradeStream

      public int aggTradeStream(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as aggTradeStream(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      aggTradeStream in interface WebsocketClient
      Parameters:
      symbol -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • tradeStream

      public int tradeStream(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
      The Trade Streams push raw trade information; each trade has a unique buyer and seller.

      <symbol>@trade

      Update Speed: Real-time
      Specified by:
      tradeStream in interface WebsocketClient
      Parameters:
      symbol - Name of trading pair
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#trade-streams
    • tradeStream

      public int tradeStream(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as tradeStream(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      tradeStream in interface WebsocketClient
      Parameters:
      symbol -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • klineStream

      public int klineStream(String symbol, String interval, com.binance.connector.client.utils.WebSocketCallback callback)
      The Kline/Candlestick Stream push updates to the current klines/candlestick every second.

      <symbol>@kline_<interval>

      Update Speed: Real-time
      Specified by:
      klineStream in interface WebsocketClient
      Parameters:
      symbol - Name of trading pair
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#kline-candlestick-streams
    • klineStream

      public int klineStream(String symbol, String interval, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as klineStream(String, String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      klineStream in interface WebsocketClient
      Parameters:
      symbol -
      interval -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • miniTickerStream

      public int miniTickerStream(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
      24hr rolling window mini-ticker statistics. These are NOT the statistics of the UTC day, but a 24hr rolling window for the previous 24hrs.

      <symbol>@miniTicker

      Update Speed: Real-time
      Specified by:
      miniTickerStream in interface WebsocketClient
      Parameters:
      symbol - Name of trading pair
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-mini-ticker-stream
    • miniTickerStream

      public int miniTickerStream(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as miniTickerStream(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      miniTickerStream in interface WebsocketClient
      Parameters:
      symbol -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • allMiniTickerStream

      public int allMiniTickerStream(com.binance.connector.client.utils.WebSocketCallback callback)
      24hr rolling window mini-ticker statistics for all symbols that changed in an array. These are NOT the statistics of the UTC day, but a 24hr rolling window for the previous 24hrs. Note that only tickers that have changed will be present in the array.

      !miniTicker@arr

      Update Speed: Real-time
      Specified by:
      allMiniTickerStream in interface WebsocketClient
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#all-market-mini-tickers-stream
    • allMiniTickerStream

      public int allMiniTickerStream(com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as allMiniTickerStream(WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      allMiniTickerStream in interface WebsocketClient
      Parameters:
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • symbolTicker

      public int symbolTicker(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
      24hr rolling window ticker statistics for a single symbol. These are NOT the statistics of the UTC day, but a 24hr rolling window for the previous 24hrs.

      <symbol>@ticker

      Update Speed: Real-time
      Specified by:
      symbolTicker in interface WebsocketClient
      Parameters:
      symbol - Name of trading pair
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-ticker-streams
    • symbolTicker

      public int symbolTicker(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as symbolTicker(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      symbolTicker in interface WebsocketClient
      Parameters:
      symbol -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • allTickerStream

      public int allTickerStream(com.binance.connector.client.utils.WebSocketCallback callback)
      24hr rolling window ticker statistics for all symbols that changed in an array. These are NOT the statistics of the UTC day, but a 24hr rolling window for the previous 24hrs. Note that only tickers that have changed will be present in the array.

      !ticker@arr

      Update Speed: Real-time
      Specified by:
      allTickerStream in interface WebsocketClient
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#all-market-tickers-stream
    • allTickerStream

      public int allTickerStream(com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as allTickerStream(WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      allTickerStream in interface WebsocketClient
      Parameters:
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • bookTicker

      public int bookTicker(String symbol, com.binance.connector.client.utils.WebSocketCallback callback)
      Pushes any update to the best bid or ask's price or quantity in real-time for a specified symbol.

      <symbol>@bookTicker

      Update Speed: Real-time
      Specified by:
      bookTicker in interface WebsocketClient
      Parameters:
      symbol - Name of trading pair
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#individual-symbol-book-ticker-streams
    • bookTicker

      public int bookTicker(String symbol, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as bookTicker(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      bookTicker in interface WebsocketClient
      Parameters:
      symbol -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • allBookTickerStream

      public int allBookTickerStream(com.binance.connector.client.utils.WebSocketCallback callback)
      Pushes any update to the best bid or ask's price or quantity in real-time for all symbols.

      !bookTicker

      Update Speed: Real-time
      Specified by:
      allBookTickerStream in interface WebsocketClient
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#all-book-tickers-stream
    • allBookTickerStream

      public int allBookTickerStream(com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as allBookTickerStream(WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      allBookTickerStream in interface WebsocketClient
      Parameters:
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • partialDepthStream

      public int partialDepthStream(String symbol, int levels, int speed, com.binance.connector.client.utils.WebSocketCallback callback)
      Top bids and asks, Valid are 5, 10, or 20.

      <symbol>@depth<levels>@<speed>ms

      Update Speed: 1000ms or 100ms
      Specified by:
      partialDepthStream in interface WebsocketClient
      Parameters:
      symbol - Name of trading pair
      levels - Valid are 5, 10, or 20
      speed - 1000ms or 100ms
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#partial-book-depth-streams
    • partialDepthStream

      public int partialDepthStream(String symbol, int levels, int speed, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as partialDepthStream(String, int, int, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      partialDepthStream in interface WebsocketClient
      Parameters:
      symbol -
      levels -
      speed -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • diffDepthStream

      public int diffDepthStream(String symbol, int speed, com.binance.connector.client.utils.WebSocketCallback callback)
      Order book price and quantity depth updates used to locally manage an order book.

      <symbol>@depth@<speed>ms

      Update Speed: 1000ms or 100ms
      Specified by:
      diffDepthStream in interface WebsocketClient
      Parameters:
      symbol - Name of trading pair
      speed - 1000ms or 100ms
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#diff-depth-stream
    • diffDepthStream

      public int diffDepthStream(String symbol, int speed, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as diffDepthStream(String, int, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      diffDepthStream in interface WebsocketClient
      Parameters:
      symbol -
      speed -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • listenUserStream

      public int listenUserStream(String listenKey, com.binance.connector.client.utils.WebSocketCallback callback)
      User Data Streams are accessed at /ws/<listenKey>
      Specified by:
      listenUserStream in interface WebsocketClient
      Parameters:
      listenKey - listen key obtained from this endpoint
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#user-data-streams
    • listenUserStream

      public int listenUserStream(String listenKey, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as listenUserStream(String, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      listenUserStream in interface WebsocketClient
      Parameters:
      listenKey -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • combineStreams

      public int combineStreams(ArrayList<String> streams, com.binance.connector.client.utils.WebSocketCallback callback)
      Combined streams are accessed at /stream?streams=<streamName1>/<streamName2>/<streamName3>
      Specified by:
      combineStreams in interface WebsocketClient
      Parameters:
      streams - A list of stream names to be combined
      Returns:
      int - Connection ID
      See Also:
      https://binance-docs.github.io/apidocs/spot/en/#websocket-market-streams
    • combineStreams

      public int combineStreams(ArrayList<String> streams, com.binance.connector.client.utils.WebSocketCallback onOpenCallback, com.binance.connector.client.utils.WebSocketCallback onMessageCallback, com.binance.connector.client.utils.WebSocketCallback onClosingCallback, com.binance.connector.client.utils.WebSocketCallback onFailureCallback)
      Same as combineStreams(ArrayList, WebSocketCallback) plus accepts callbacks for all major websocket connection events.
      Specified by:
      combineStreams in interface WebsocketClient
      Parameters:
      streams -
      onOpenCallback -
      onMessageCallback -
      onClosingCallback -
      onFailureCallback -
      Returns:
    • closeConnection

      public void closeConnection(int connectionId)
      Closes a specific stream based on stream Id.
      Specified by:
      closeConnection in interface WebsocketClient
      Parameters:
      connectionId -
    • closeAllConnections

      public void closeAllConnections()
      Closes all streams
      Specified by:
      closeAllConnections in interface WebsocketClient