У меня есть торговая система, которая обслуживает нескольких пользователей, я никогда раньше не работал с websocket, поэтому мой вопрос в том, как мне хранить эти websockets и получать к ним доступ в любое время?
Это API, который я использую: https://github.com/binance-exchange/binance-api-node
Поэтому, когда дело доходит до пользователей, выполняющих лимитный ордер, мой единственный вариант - читать сокет userData и ждать события FILLED, чтобы проверить, был ли ордер исполнен.Мне удалось открыть новый веб-сокет для каждой сделки (что крайне неэффективно). Как «глобально» открыть только одну веб-сокет на пользователя вместо каждой сделки?
Это мой первоначальный подход:
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 веб-сокет на пользователя вместо каждой размещенной сделки?(Если я просто создам переменную сверху и назначу ей веб-сокет, она смешается с несколькими пользователями).