python - websocket多流python
问题描述
这是我的问题:我正在尝试使用 websocket 在 Binance 上获得三对加密货币的价格
我的问题是我很难管理有多个流(来自三对)的事实,而只有一个流则效果很好。
这是我的代码:
import websocket, json, pprint, talib, numpy
cc = ["btcusdt","adausdt","solusdt"]
interval = "1m"
for i in cc:
socket = f'wss://stream.binance.com:9443/ws/{i}@kline_{interval}'
def on_message(ws, message):
json_message = json.loads(message)
candle = json_message['k']
close = candle["c"]
print(i,': ',close)
def on_close(ws):
print("Connection Closed")
wsapp = websocket.WebSocketApp(socket, on_message=on_message, on_close=on_close)
wsapp.run_forever()
这是我每秒得到的结果:
btcusdt : 47009.01000000
btcusdt : 47009.02000000
btcusdt : 47004.00000000
...
然而这不是我想要的,它只考虑第一对。我正在寻找这种结果:
btcusdt : #price
adausdt : #price
solusdt : #price
btcusdt : #price
adausdt : #price
solusdt : #price
...
我知道我的问题来自于,wsapp.run_forever()
因为这样做只需要第一对而不循环到其他对。但我不知道如何管理它,如果有人能解决这个问题,我会很高兴。
非常感谢
解决方案
推荐阅读
- python-3.x - 如何在通过 python 进行单元测试时增加覆盖率
- r - 尝试遍历数据框并将值附加到列表中,但 for 循环不起作用
- listview - ListView 中不可点击的 ListItems
- mongodb - 有没有一种方法可以使用 Spring boot 从 MongoDb 中查询对象 A 内的唯一 B 对象列表
- javascript - 我如何在 vue.js 中定义这个方法?
- javascript - 如何通过单击按钮上传文件图像
- c++ - 有人可以向我解释这个属于 LinkedList 程序的 C++ 代码吗?
- html - 将过渡添加到下拉菜单
- swift - 如何在 Xcode Swift 中同时滚动多个 textView
- java - “PKIX 路径构建失败:SunCertPathBuilderException:无法找到请求目标的有效证书路径”