Binance Websocket 深度通道给定 ID 的更新过多
Binance Websocket depth channel too many updates for given ids
我正在使用 Binance Websocket API,当我订阅深度频道时(例如通过 wss://stream.binance.com:9443/stream?streams=btcusdt@depth/),我偶尔会收到对于给定的第一个 ID ('U') 和最后一个 ID ('u') 有太多更新的更新:
{"stream":"btcusdt@depth","data":{"e":"depthUpdate","E":1536066285499,"s":"BTCUSDT",
"U":238495725,
"u":238495734,
"b":[
["7369.47000000","0.00000000",[]], --238495725
["7369.46000000","0.00000000",[]], --238495726
["7369.45000000","0.00000000",[]], --238495727
["7369.19000000","0.90770800",[]], --238495728
["7365.20000000","0.20000000",[]], --238495729
["7363.71000000","0.54130000",[]], --238495730
["7362.94000000","0.00000000",[]], --238495731
["7358.00000000","0.00000000",[]]] --238495732
,"a":[
["7369.47000000","0.02302600",[]], --238495733
["7369.70000000","0.00000000",[]], --238495734
["7408.90000000","3.93000000",[]]] --238495735 WHICH IS NOT OKAY (>u)
}}
我也注意到偶尔我会得到比更新更多的 ID,例如:
{"stream":"btcusdt@depth","data":{"e":"depthUpdate","E":1536068517031,"s":"BTCUSDT",
"U":238514909,
"u":238514912,
"b":[],
"a":[
["7366.54000000","0.00000000",[]], --238514909
["7367.09000000","0.00000000",[]]] --238514910
}}
我正在尝试将这些更新添加到数据库中,因此对我来说,ID 太多比太少更不是问题。如果有人能解释为什么会发生这种情况或者我可能会误解更新 ID,我们将不胜感激。
提前致谢!
所以事实证明 "update IDs" 不对应订单 ID,并且可以在一次更新中更改多个订单簿条目。
此外,给定的出价和要价的顺序不是收到的实际顺序,而是出价降序和要价升序,订单簿的状态无法确定地从websocket API :/
我正在使用 Binance Websocket API,当我订阅深度频道时(例如通过 wss://stream.binance.com:9443/stream?streams=btcusdt@depth/),我偶尔会收到对于给定的第一个 ID ('U') 和最后一个 ID ('u') 有太多更新的更新:
{"stream":"btcusdt@depth","data":{"e":"depthUpdate","E":1536066285499,"s":"BTCUSDT",
"U":238495725,
"u":238495734,
"b":[
["7369.47000000","0.00000000",[]], --238495725
["7369.46000000","0.00000000",[]], --238495726
["7369.45000000","0.00000000",[]], --238495727
["7369.19000000","0.90770800",[]], --238495728
["7365.20000000","0.20000000",[]], --238495729
["7363.71000000","0.54130000",[]], --238495730
["7362.94000000","0.00000000",[]], --238495731
["7358.00000000","0.00000000",[]]] --238495732
,"a":[
["7369.47000000","0.02302600",[]], --238495733
["7369.70000000","0.00000000",[]], --238495734
["7408.90000000","3.93000000",[]]] --238495735 WHICH IS NOT OKAY (>u)
}}
我也注意到偶尔我会得到比更新更多的 ID,例如:
{"stream":"btcusdt@depth","data":{"e":"depthUpdate","E":1536068517031,"s":"BTCUSDT",
"U":238514909,
"u":238514912,
"b":[],
"a":[
["7366.54000000","0.00000000",[]], --238514909
["7367.09000000","0.00000000",[]]] --238514910
}}
我正在尝试将这些更新添加到数据库中,因此对我来说,ID 太多比太少更不是问题。如果有人能解释为什么会发生这种情况或者我可能会误解更新 ID,我们将不胜感激。
提前致谢!
所以事实证明 "update IDs" 不对应订单 ID,并且可以在一次更新中更改多个订单簿条目。
此外,给定的出价和要价的顺序不是收到的实际顺序,而是出价降序和要价升序,订单簿的状态无法确定地从websocket API :/