用于建立客户端与服务端之间的实时数据通信连接,实现行情订阅与数据推送。
📘 1. 开发指南
==============================
💡 开发建议(重要)
市场不同字段不同,建议对不同市场的数据结构进行兼容处理,不要严格匹配字段
不要依赖固定字段顺序或数据类型,如果缺少某个字段,请做忽略处理。
高频行情建议使用缓存或消息队列处理,开启多线程
不要开启任何同步处理方法,和同步日志
建议维护订阅状态和连接状态,避免重复订阅和重复连接
在接入 WebSocket 行情服务前,建议您的程序具备以下基础能力。
🧩 基础能力要求
-> 能够建立 WebSocket 长连接
-> 支持订阅指定符号或交易所数据
-> 实现心跳发送或响应机制
-> 具备断线重连能力
-> 能够接收并处理实时行情数据
🔗 产品代码与交易所获取
->交易所代码参考市场与国家代码内容参数。
->产品代码可通过以下方式获取:
通过 HTTP 接口获取
-> 使用股票列表 product 接口获取指定交易所下全部产品列表
通过 WebSocket 订阅获取
-> 直接按交易所订阅(/exchange/xxx)获取对应市场数据
⚠️ 注意事项
-> 不同市场返回字段可能存在差异
-> 请以接口实际返回为准,不要严格依赖示例数据
-> 部分字段可能会缺少字段,比如新股缺少close,和chg及pchg
📖 名词说明
上行 = 客户端向服务端发送指令 如 /symbol/NASDAQ:AAPL
心跳上行 = 客户端发送心跳 如 /heartbeat/PING
下行 = 服务端返回的数据
示例:
{type = heartbeat msg = timeout}
客户端 = 用户自行开发的接入程序
💻 推荐开发环境
Java = Java-WebSocket
Python = websocket
PHP = workerman
🗜 数据压缩说明
为降低网络传输压力并提升数据传输效率,WebSocket 数据支持压缩传输。
📌 压缩方式
本系统使用以下压缩方式:
-> permessage-deflate(WebSocket 协议压缩)
📥 压缩说明
- permessage-deflate
-> 属于 WebSocket 协议层压缩
-> 在连接时自动协商启用
-> 客户端通常自动解压,无需额外处理
-> 返回数据为正常格式