成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

火幣 websocket 獲取 k 線數(shù)據(jù),和其它數(shù)據(jù) API

KunMinX / 3493人閱讀

摘要:但,在這個期間,還有一個動作需要執(zhí)行,火幣服務(wù)器會每隔秒,向客戶端發(fā)送一條數(shù)據(jù),客戶端接收到這種信息的時候,需要一條對應(yīng)的數(shù)據(jù),內(nèi)容是的數(shù)據(jù)體相應(yīng)的數(shù)據(jù)格式如下,如果服務(wù)器在發(fā)送兩條數(shù)據(jù)后沒有收到客戶端返回的數(shù)據(jù),火幣服務(wù)器就會關(guān)閉連接。

火幣 websocket 獲取 k 線數(shù)據(jù),和其它數(shù)據(jù) API
火幣官方文檔地址: https://huobiapi.github.io/do...
pako(解壓gzip): https://github.com/nodeca/pako
參考鏈接(地址可能已過時,但內(nèi)容沒有): https://www.cnblogs.com/zhumi...

坑死,接火幣 websocket 地址 wss://api.huobi.pro/ws 的時候接到懷疑人生,怎么都無法建立連接,一度以為自己沒有像其它 get/post 接口那樣傳入該傳的參數(shù),又以為是 wss 走的是 SSL 通道,所以才沒能建立連接,還以為是需要服務(wù)端轉(zhuǎn)接一下。

但,最后的最后,竟然發(fā)現(xiàn)是因為地址的問題,這個地址根本接入不了,至少我這邊是接入不進去。

后來換這個地址: wss://api.hadax.com/ws就順利的接入了

火幣 websocket 規(guī)則

先建立連接

客戶端發(fā)送訂閱請求,這個官方文檔有說明

火幣服務(wù)器返回訂閱成功與否的回饋信息

如果成功就定時發(fā)送 gzip 壓縮后的數(shù)據(jù),解壓 gzip 你需要 pako https://github.com/nodeca/pako

我們自己客戶端這邊接收數(shù)據(jù),并解壓數(shù)據(jù),才能獲取到真正的 json 數(shù)據(jù)

自己做前端該做的相應(yīng)操作,壓入數(shù)據(jù),展示數(shù)據(jù)什么的。

但,在這個期間,還有一個動作需要執(zhí)行,火幣服務(wù)器會每隔 5 秒,向客戶端發(fā)送一條 ping 數(shù)據(jù),客戶端接收到這種信息的時候,需要 send 一條對應(yīng)的 pong 數(shù)據(jù),內(nèi)容是 ping 的數(shù)據(jù)體(相應(yīng)的數(shù)據(jù)格式如下),如果服務(wù)器在發(fā)送兩條 ping 數(shù)據(jù)后沒有收到 客戶端返回的 pong 數(shù)據(jù),火幣服務(wù)器就會關(guān)閉連接。

關(guān)于其它信息的獲取,查看官方文檔關(guān)于 websocket 的說明就可以了。

// 服務(wù)器發(fā)送的 ping 數(shù)據(jù)
{ ping: 1562741680416 }

// 客戶端返回服務(wù)器的 pong 數(shù)據(jù)
{ pong: 1562741680416 }
執(zhí)行代碼
// K 線相關(guān)
let hburl = "wss://api.huobipro.com/ws";  // 實時幣種價格
let haurl = "wss://api.hadax.com/ws";


let requestK = { // 請求對應(yīng)信息的數(shù)據(jù)
    req: "market.bchusdt.kline.1min",
    id: "bchusdt",
    from: Math.round(new Date().getTime()/1000) - 60,
    to: Math.round(new Date().getTime()/1000)
};

let subK = { // 訂閱數(shù)據(jù)
    sub: "market.bchusdt.kline.1min",
    id: "bchusdt"
};

let socketK = new WebSocket(haurl);
socketK.onopen = function () {
    console.log("connection establish");
    socketK.send(JSON.stringify(subK));
    socketK.send(JSON.stringify(requestK));
};
socketK.onmessage = function (event) {
    let blob = event.data;
    let reader = new FileReader();
    reader.onload = function (e) {
        let ploydata = new Uint8Array(e.target.result);
        let msg = pako.inflate(ploydata, {to: "string"});
        handleData(msg);
    };
    reader.readAsArrayBuffer(blob, "utf-8");
};
socketK.onclose = function () {
    console.log("connection closed");
};

// 處理接收到的信息
function handleData(msg) {
    let data = JSON.parse(msg);
    if (data.ping) {
        // 如果是 ping 消息
        sendHeartMessage(data.ping);
    } else if (data.status === "ok") {
        // 響應(yīng)數(shù)據(jù)
        handleReponseData(data);
    } else {
        // 數(shù)據(jù)體
        console.log(data)
    }
}

// 發(fā)送響應(yīng)信息
function sendHeartMessage(ping) {
    socketK.send(JSON.stringify({"pong": ping}));
}

function handleReponseData(data) {
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/105527.html

相關(guān)文章

  • 雜談:前端Web通信

    摘要:作為開發(fā)同學的小伙伴客戶端的瀏覽器,有點小調(diào)皮還做了一個同源策略的限制,當我們的數(shù)據(jù)請求遇到不同源的情況下跨域,我們就得嘗試其它的通信方法,不能一條道走到黑。 showImg(https://segmentfault.com/img/bVburZO?w=600&h=450); Web2.0以來,Ajax的出世,解決了傳統(tǒng)表單提交頁面跳轉(zhuǎn),閃爍白屏等問題。使得Web頁面可以實現(xiàn)局部更新,...

    Betta 評論0 收藏0
  • html基礎(chǔ)

    摘要:不存在或格式不正確會導致文檔以兼容模式呈現(xiàn)標準模式的排版和運作模式都是以該瀏覽器支持的最高標準運行。如果不能確定時,首選使用自然樣式標簽 HTML 語義化 HTML標簽的語義化是指:通過使用包含語義的標簽(如h1-h6)恰當?shù)乇硎疚臋n結(jié)構(gòu) css命名的語義化是指:為html標簽添加有意義的class 為什么需要語義化: 去掉樣式后頁面呈現(xiàn)清晰的結(jié)構(gòu) 盲人使用讀屏器更好地閱讀 搜...

    sihai 評論0 收藏0
  • InChat一版,僅僅兩個接口實現(xiàn)自己的IM系統(tǒng)(可兼容)

    摘要:大家明天一起去唱吧關(guān)于數(shù)據(jù)庫設(shè)計當前一版不會固定大家的數(shù)據(jù)庫設(shè)計,大家可以自己自由設(shè)計,同時搭上自己的項目,構(gòu)建一個附帶的自項目。 InChat 一個IM通訊框架 一個輕量級、高效率的支持多端(應(yīng)用與硬件Iot)的異步網(wǎng)絡(luò)應(yīng)用通訊框架。(核心底層Netty) Github:InChat 版本目標:完成基本的消息通訊(僅支持文本消息),離線消息存儲,歷史消息查詢,一對一聊天、自我聊天、群...

    CrazyCodes 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<