英国股票行情API接口的WebSocket接入常见问题与解决方案
在思否上,经常有人问:“英国股票行情API接口的WebSocket连不上怎么办?”“为什么断线后不推数据了?”本文用QA形式,汇总WebSocket接入英国股票行情API接口的常见问题及解决方案。 问题一:WebSocket连接握手失败 问:调用英国股票行情API接口的WebSocket,返回400错误是什么原因? 问题二:连接建立后很快断开 问:连接英国股票行情API接口成功了,但没过多久就自动断开,没有报错? 问题三:收不到数据,但连接正常 问:WebSocket连接状态是OPEN,但没有收到任何英国股票行情数据? 问题四:数据延迟高 问:收到的英国股票价格比实际成交时间晚了5秒以上? 问题五:消息乱序或重复 问:收到的价格顺序不对,有时候同一条消息收到两次? 问题六:断线后如何恢复订阅状态 问:网络断开重连后,之前订阅的英国股票都不推送了? 小结 WebSocket接入英国股票行情API接口,稳定运行需要处理多个细节。建议使用官方客户端库。更多帮助见docs.jkidata.com。 【数据API】jkidata.com | 文档中心:docs.jkidata.com
答:400通常表示请求格式错误。检查URL是否以wss://开头,是否在查询参数中正确携带了key=你的API Key。docs.jkidata.com的WebSocket示例中有正确的地址格式。
答:这是网络设备认为连接空闲而主动断开。解决方案是实现心跳机制,每30秒发送一次Ping。jkidata.com的英国股票行情API接口要求客户端发送心跳,否则会主动断开。docs.jkidata.com有心跳实现代码。
答:很可能没有发送订阅消息。连接成功后必须发送订阅消息,如{"action":"subscribe","symbols":["AZN","HSBA"]}。注意英国股票代码格式与美股不同。
答:可能原因:网络距离远,或客户端处理代码阻塞了。解决方案:选择最近的WebSocket节点,并确保消息接收和处理分离。
答:利用消息中的seq序列号去重和排序。jkidata.com的每条消息都带有seq字段。docs.jkidata.com的高级指南中有完整实现。
答:服务端不会保存订阅状态。需要在客户端保存订阅列表,重连后重新发送订阅消息。