我有一个服务于多个用户的交易系统,我以前从未使用过websocket,所以我的问题是如何存储这些websocket并在需要时访问它们?
这是我正在使用的api:https://github.com/binance-exchange/binance-api-node
因此,对于执行限价订单的用户而言,我唯一的选择是读取userData套接字并等待FILLED事件以检查订单是否已成交。我为每笔交易都打开了一个新的websocket(这是极其没有效率的),如何“全局”为每个用户而不是每个交易仅打开一个websocket?
这是我最初的方法:
function limit_order {
*execute order* . then {
//returns a response of order and its UNFILLED
//create a new socket
const clean = await client.ws.user(msg => {
*wait and check for FILLED event*
});
*once done, call clean() to close the socket*
}
}
所以我的问题又是,我如何以及在哪里以及每位用户存储1个Websocket,而不是每笔交易? (如果我只是在顶部创建一个变量并为其分配websocket,它将与多个用户混在一起)。