我有兴趣使用Gdax(Coinbase)WebSocket获取实时数据。我是一个总的小白,所以我检查Gdax发布他们的文档中的例子:消息类型websocket gdax(coinbase)
import gdax, time
class myWebsocketClient(gdax.WebsocketClient):
def on_open(self):
self.url = "wss://ws-feed.gdax.com/"
self.products = ["LTC-USD"]
self.message_count = 0
print("Lets count the messages!")
def on_message(self, msg):
self.message_count += 1
if 'price' in msg and 'type' in msg:
print ("Message type:", msg["type"],
"\[email protected] {}.3f".format(float(msg["price"])))
def on_close(self):
print("-- Goodbye! --")
wsClient = myWebsocketClient()
wsClient.start()
print(wsClient.url, wsClient.products)
while (wsClient.message_count < 500):
print ("\nmessage_count =", "{} \n".format(wsClient.message_count))
time.sleep(1)
wsClient.close()
输出是:
...
Message type: received @ 50.78.3f
Message type: open @ 50.78.3f
Message type: done @ 51.56.3f
Message type: received @ 51.59.3f
Message type: open @ 51.59.3f
Message type: done @ 51.51.3f
Message type: done @ 51.17.3f
Message type: done @ 51.66.3f
Kernel died, restarting
我有一个关于这个代码和输出的几个问题:
- 什么是消息类型(收到,打开,完成,匹配)是什么意思,哪种类型用于计算,以及为什么某些类型被跳过?
- 为什么运行代码总是以'内核死亡,重新启动'结束?
- 该文档声明此代码仅用于说明。这是否意味着这不是一种获得实时数据的正确方法,以便用它来做什么?
如果你知道一些好的文章或书籍,可以教一个noob如何使用WebSockets,我很想听听他们!