在前端开发中,有时候我们需要使用 WebSocket 与后端进行实时通信,而 bitmex-simple-ws 就是一个用于连接 BitMEX WebSocket API 的简单 npm 包。本篇文章将介绍 bitmex-simple-ws 的基本用法以及在前端项目中应用的方法。
安装
在项目目录下使用 npm 安装 bitmex-simple-ws:
npm install bitmex-simple-ws --save
快速开始
在使用 bitmex-simple-ws 之前,你需要先注册一个 BitMEX 帐号,并获取 API 密钥和密钥。接下来,我们将展示连接 BitMEX WebSocket API 的基本步骤。
import BitmexWebSocket from "bitmex-simple-ws"; const apiKey = "YOUR_API_KEY"; const apiSecret = "YOUR_API_SECRET"; const ws = new BitmexWebSocket({ apiKey, apiSecret, testnet: true, // 是否连接测试网络 }); ws.on("open", () => { console.log("WebSocket 连接已建立"); }); ws.on("close", () => { console.log("WebSocket 连接已断开"); }); ws.on("message", (message) => { console.log("收到 WebSocket 消息:", message); }); ws.connect();
这段代码使用了 BitmexWebSocket 类,我们在实例化 BitmexWebSocket 对象时传入了参数 apiKey、apiSecret 和 testnet。其中,apiKey 和 apiSecret 分别为我们的 BitMEX API 密钥和密钥,testnet 表示我们是否要连接 BitMEX 的测试网络。在实例化后,我们通过调用 connect() 方法来建立 WebSocket 连接。
API 订阅
一旦我们建立了 WebSocket 连接,我们就可以订阅 BitMEX 提供的不同类型的 API 数据。下面是订阅深度数据的示例代码:
ws.subscribe("orderBookL2_25:XBTUSD"); ws.on("orderBookL2_25:XBTUSD", (message) => { console.log("收到 WebSocket 订阅消息:", message); });
在这段代码中,我们使用 subscribe() 方法来订阅 BitMEX 的 orderBookL2_25:XBTUSD 数据。一旦订阅成功,我们就可以通过监听对应的事件以获取该数据的更新。在这个例子中,我们通过监听 "orderBookL2_25:XBTUSD" 事件获取该数据的更新事件。
心跳包和重新连接
连接 WebSocket API 时,为了保持长连接,我们需要定期发送心跳包以保证连接的有效性。bitmex-simple-ws 将自动管理心跳包的发送,并在连接断开时自动重新连接。我们可以通过以下方式来设置心跳包的发送间隔和重新连接的最大时间:
const ws = new BitmexWebSocket({ apiKey, apiSecret, testnet: true, pingInterval: 3000, // 发送心跳包的间隔时间(毫秒) reconnectTimeout: 30000, // 连接断开后重新连接的最大时间(毫秒) });
结论
通过使用 bitmex-simple-ws,我们可以轻松地连接 BitMEX 的 WebSocket API 并订阅所需的数据。bitmex-simple-ws 的强大功能使得我们可以更简便地开发和测试 BitMEX 相关的应用程序和策略。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/600673e0fb81d47349e53d06