【发布时间】:2019-02-15 03:46:39
【问题描述】:
我正在尝试向服务器发送消息以获取答案。
我尝试使用网站上的官方 websocket API,但我不理解它们或无法让它们按我的意愿工作,所以我正在尝试构建它。
import asyncio
import websockets
async def test():
async with websockets.connect('wss://www.bitmex.com/realtime') as websocket:
await websocket.send("ping")
#OR await websocket.send({"op": "subscribe", "args": [<SubscriptionTopic>]})
response = await websocket.recv()
print(response)
asyncio.get_event_loop().run_until_complete(test())
我收到我已连接,但我没有收到“pong”作为对“ping”的回答,也没有收到“很好,您订阅了此主题”,因为我在 echo 网站上尝试命令时收到。
#!/usr/bin/env python3
import asyncio
import websockets
import json
var = []
async def test():
async with websockets.connect('wss://www.bitmex.com/realtime') as websocket:
response = await websocket.recv()
print(response)
await websocket.send(json.dumps({"op": "subscribe", "args": "trade:TRXH19"}))
response = await websocket.recv()
resp = await websocket.recv()
print(json.loads(resp))
sum=0
while True:
resp = await websocket.recv()
jj = json.loads(resp)["data"][0]
var.append(jj)
size = jj["size"]
side = jj["side"]
coin = jj["symbol"]
if side=="Buy":
sum+=size
else:
sum-=size
print(coin)
print(size)
print(side)
print("Totale = ", sum )
while True:
asyncio.get_event_loop().run_until_complete(test())
print(var)
print("Ciclo Finito!!!!")
【问题讨论】:
-
请更正您的代码缩进。
-
@BenyaminJafari 谢谢,这应该是正确的缩进,我刚从 R 移过来,不习惯。无论如何它并没有解决问题。这应该很简单,不知道为什么没人能回答这个问题。
标签: python websocket python-asyncio