实时行情数据源接口websocket接入方法

随笔3个月前发布 江慀
37 0 0


支持如下产品对接:

外汇、国际期货、国内期货、国际金银、数字货币、股指期货、美股、印度股、港股、台股、A股

产品代码获取地址:http://39.107.99.235:1008/market/market.php

产品代码:
比特币 btcusdt
以太坊 ethusdt
恒指期货 HSI
德指期货 DAX
英镑美元 fx_sgbpusd
欧元美元 fx_seurusd
后面的币种就是产品代码,用这个代码进行订阅产品,多个产品代码使用应为逗号隔开。

数据解析
服务器实时推送的行情数据为以下格式:

{
    "body": {
        "StockCode": "btcusdt",
        "Price": 27206.02,
        "Open": 26689.98,
        "LastClose": 27206.02,
        "High": 27287.74,
        "Low": 26554.35,
        "Time": "2023-05-28 15:43:51",
        "LastTime": "1685259831",
        "BP1": 27206.02,
        "BV1": 0.21,
        "SP1": 27206.03,
        "SV1": 0.78,
        "TotalVol": 2293.14,
        "Depth": {
            "Buy": [
                {
                    "BP1": 27206.02,
                    "BV1": 0.39
                },
                {
                    "BP2": 27204.14,
                    "BV2": 0
                },
                {
                    "BP3": 27204.13,
                    "BV3": 1.28
                },
                {
                    "BP4": 27203.32,
                    "BV4": 0.64
                },
                {
                    "BP5": 27203.3,
                    "BV5": 0.68
                }
            ],
            "Sell": [
                {
                    "SP1": 27206.03,
                    "SV1": 0.78
                },
                {
                    "SP2": 27206.22,
                    "SV2": 0.04
                },
                {
                    "SP3": 27206.96,
                    "SV3": 0.02
                },
                {
                    "SP4": 27208.13,
                    "SV4": 0.01
                },
                {
                    "SP5": 27208.14,
                    "SV5": 0.07
                }
            ]
        },
        "BS": [
            {
                "time": "15:43:51",
                "price": 27206.02,
                "size": 0.21,
                "direction": 2
            },
            {
                "time": "15:43:51",
                "price": 27206.03,
                "size": 0.78,
                "direction": 1
            }
        ],
        "Info": [

        ],
        "lastSize": 0.055118,
        "Diff": 516.04,
        "DiffRate": 1.93
    }
}

以下是JavaScript的连接demo,可以参考下。同时也支持其他后端语言的连接,PHP、Java、Python等。

new WebSocket('ws://39.107.99.235/ws'); 将里面的地址,换成真实的连接地址
ws.onopen 当服务连接成功后,会调用该方法。连接成功后,将订阅的产品代码,以json的形式发送到服务器
ws.onmessage 服务器推送消息时,会调用该方法。这个里面可以处理,服务器推送过来的数据
ws.onclose 服务断开时会调用此方法,这里可以实现重连机制
ws.onerror 服务连接失败,会调用此方法。可以做一些其他业务操作

 function sendMessage() {
        var ws = new WebSocket('ws://39.107.99.235/ws');
        ws.onopen = function () {
            var send = {
                event: ')(*&^&*()',
                Key: 'btcusdt,ethusdt,xrpusdt'   //指定产品代码,多个使用英文逗号隔开
            };

            ws.send(JSON.stringify(send));

            ws.onmessage = function (ev) {
                data = JSON.parse(ev.data);
                body = data.body;   //该body为推送的数据
               
               console.log(body);   //打印数据
            };
            ws.onclose = function (ev) {
            };
            ws.onerror = function (ev) {
            };
        };
    }
    
    sendMessage();

以上就是数据对接过程,有不懂的可以留言!!!

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...