Python 3 websocket客户端,永远运行

时间:2017-04-26 20:35:17

标签: python websocket

我正在尝试编写一个Python 3代码,使用Dogechain Websocket APIpython 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"}

1 个答案:

答案 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
};

我希望这有帮助!