api - 使用 websocket 管理币安订单簿
问题描述
我对币安文档中的建议实现有疑问。该指南可在链接上获得: 如何正确管理本地订单簿
如果我需要源源不断的@depth 数据流,为什么我需要他们建议的前四个步骤。为什么我要先缓冲流然后拍摄快照以确定要丢弃哪些数据然后继续收听流?如果我的用例甚至需要这些步骤(正在跟踪实时订单簿数据),我不理解这些步骤的逻辑需求
解决方案
如果您拍摄快照然后开始收听流,您可能会错过获取快照和启动流之间的事件。这意味着您的本地订单簿将无效(您绝对不希望在交易应用程序中出现这种情况)。
在之后拍摄快照背后的想法是保证您在快照之后拥有所有事件。这种方法的副作用是您可能还拥有一些快照之前的内容。因此,您可以根据它们的 lastUpdateId 丢弃您不需要的少数(如果有)。
我不确定你用什么语言来管理一个,但如果你想要一个 java 实现,请告诉我,我会把我的推送到 github,这样你就可以使用它了。
推荐阅读
- objective-c - iOS:我想连续旋转图像,但它不起作用
- java - 在为 spring mvc 运行以下代码时出现 http 404 错误。告诉我错误在哪里以及如何修复它?
- typescript - 声明模块导致 lint 错误“意外令牌,应为“{”
- android - 错误:无法解决 android studio 3.4 中的依赖关系
- javascript - JS:在`new Function(...)`中获取错误行号
- c - 有没有办法检查数组中字符串的大写和 isalpha 大小写?
- vue.js - Vue.js如何加载依赖组件
- php - 在 CollectionType 中自动设置数据库 ID
- laravel - 如何解决 docker 中 exec 工作区 bash 的问题
- php - 如何修改默认URL php?