我正在尝试编写一个Python 3代码,使用Dogechain Websocket API和python websocket client打印出每个新的Dogicoin块。
import json
import ssl
from websocket import create_connection
ws = create_connection("wss://ws.dogechain.info/inv", sslopt={"cert_reqs": ssl.CERT_NONE})
ws.send(json.dumps({"op":"blocks_sub"}))
while 1:
result = ws.recv()
print(result)
订阅成功后,块更新不会到来。我得到的只是以下输出,没有别的。我的目标是每当一个块到达时运行一个函数。我做错了什么?
{"op": "status", "msg": "subscribed, welcome, ..."}
{"op": "status", "msg": "subscribed"}
答案 0 :(得分:0)
创建一个存在块函数的线程,并在while条件下运行该线程函数并放置你想要的一些休眠时间,这样你就可以获得你的块数据而不管它是否存在,即使它不存在它我会给你空白的反应。
例如,我这样做了, 这是我的线程函数
def mail_data(self):
mailbox = getMailBox();
while True:
notify('notification',mailbox.checkMailBox()) // my email library in buiilt function
time.sleep(20)
并且在我的html页面中,我正在使用像这样的websocket,
ws.onmessage = function (evt) {
// on receiving messages through websocket
var json_data = evt.data; //this will be got from that function
};
我希望这有帮助!