Binance API 如何使用 Javascript 连接网络套接字?

Binance API How to connect with a web socket using Javascript?

我正在使用 binance 获取有关以太坊的数据。我用对 API 的 GET 请求做了单个 kLine 响应,所以我得到了旧数据,但现在我想保持 kLines 和价格自动更新。

为此,我需要连接 Binance 网络套接字。我该怎么做呢?我正在使用 Javascript.

此代码打开一个与 Binance 连接的网络套接字。它每 2 秒(深度)接收一次关于(符号)ETH/USDT 的数据。每 30 分钟,数据会将变量“x”设置为 true,因此您知道何时添加一行。

如果您想更改 30 分钟、代码、深度或 K 线数据,您应该查看 Binance api documentation 以了解如何正确执行此操作。

// Symbol: ETH/USDT - Kline 30 minutes.
var socket = new WebSocket('wss://stream.binance.com:9443/ws/ethusdt@kline_30m');
    
// When message received from web socket then...
socket.onmessage = function (event) {

    // Easier and shorter.
    var data = JSON.parse(event.data);

    // "x" means: Is this kline closed? Return "true" if closed. Closed means new line to be added.
    if (data.k.x === true) {
        log("Add line.");

        // Adding a line with my custom function.
        addLine(data);
    } else {
        // Updating line with my custom function.
        updatePrice(data);
    }
}