我正在开发一个项目,该项目使用二进制api创建一个界面,使日间交易密码变得更容易。
对其api的调用如下所示:
binance.websockets.candlesticks(['BNBBTC'], "1m", function(candlesticks) {
let { e:eventType, E:eventTime, s:symbol, k:ticks } = candlesticks;
let { o:open, h:high, l:low, c:close, v:volume, n:trades, i:interval, x:isFinal, q:quoteVolume, V:buyVolume, Q:quoteBuyVolume } = ticks;
console.log(symbol+" "+interval+" candlestick update");
console.log("open: "+open);
console.log("high: "+high);
console.log("low: "+low);
console.log("close: "+close);
console.log("volume: "+volume);
console.log("isFinal: "+isFinal);
});它似乎是在一个固定的时间间隔返回数据,所以我怀疑它是否真的是实时的,但无论如何,我想知道如何将这些数据发送到前端。
目前,我正在使用静态数据进行此操作:
router.get('/interface', function(req,res) {
binance.candlesticks("BNBBTC", "5m", function(ticks, symbol) {
console.log("candlesticks()", ticks);
let last_tick = ticks[ticks.length - 1];
let [time, open, high, low, close, volume, closeTime, assetVolume, trades, buyBaseVolume, buyAssetVolume, ignored] = last_tick;
console.log(symbol+" last close: "+close);
res.render('interface', {ticks:ticks});
});
});过去,我曾处理过socket.io,但我不知道如何使用它。任何帮助都将不胜感激!如果你对密码感兴趣的话请告诉我。我们正在组织一个不一致的小组,分享我们的研究和交易策略。
发布于 2018-01-11 01:53:59
要从后端启动数据发送过程(而不是前端请求数据),您应该使用websockets (正如您已经提到的socketIO)。
要做到这一点,首先,您应该在您的快递应用程序中启动一个套接字服务器,方法是包装http/https服务器或快递应用程序。
然后,从前端开始,您应该启动一个套接字客户端。
接下来,前端客户端应该使用socketio-client的connect方法与服务器建立连接。它将使用套接字连接在服务器中触发一个事件。
最后,服务器可以使用该套接字连接向客户端发送任意数量的数据。(您可能需要保存连接以供以后使用)。
发布于 2018-01-17 19:43:56
我试着做同样的事情,你说的是什么不和谐的团体?
https://stackoverflow.com/questions/48198711
复制相似问题