All
筛选:
如何将法定货币存入我的账户?
我需要帮助进行账户验证
为什么无法访问我的账户?
是否有加密货币取款手续费?
我需要帮助登录我的账户
我们的 WebSocket API 可以通过任何支持 WebSocket 的编程语言(Python、Javascript、C#、Go 等)进行访问。许多编程语言都提供了 WebSocket 库,允许程序员使用 WebSocket 接口,而无需了解 WebSocket 协议的复杂细节。
Python 是一个例子,它提供了许多不同的 WebSocket 库,那么程序员如何知道应该使用哪个库,或者如何最有效地使用他们选择的库呢?以下提供了我们推荐的 Python WebSocket 库,并给出了一些在不同场景下如何使用该库的示例。
我们推荐的 Python WebSocket 库是 websocket-client 库。该库兼容 Python 2 和 Python 3,但对于新代码,我们建议仅使用 Python 3,因为 Python 2 正在被弃用。
websocket-client 库可以从 Python 包索引 (pypi.org) 下载,并通过随附的 setup.py 文件安装:
python setup.py install
或者通过标准 Python 安装工具 (pip) 同时下载和安装:
pip install websocket-client
WebSocket 客户端库可用于创建同步(阻塞)WebSocket 客户端或异步(非阻塞、事件驱动)客户端。这两个版本都可以成功地与我们的 API 交互,因此选择将取决于实现的具体要求(例如是否需要并行执行其他任务)。
例如,一个简单的市场价格监控应用程序可以使用一个同步客户端,它只需等待新的市场数据并将市场价格与指定值进行比较,而一个功能齐全的交易机器人则需要使用一个异步客户端,并在单独的线程中处理市场数据馈送(以便分析和交易任务可以并行进行)。
以下是同步和异步客户端的基本示例,它们可以作为更复杂的 API 代码的起点。
同步 WebSocket API 接口
# Import WebSocket client libraryfrom websocket import create_connection# Connect to WebSocket API and subscribe to trade feed for XBT/USD and XRP/USDws = create_connection("wss://ws.kraken.com/")ws.send('{"event":"subscribe", "subscription":{"name":"trade"}, "pair":["XBT/USD","XRP/USD"]}')# Infinite loop waiting for WebSocket datawhile True: print(ws.recv())
异步 WebSocket API 接口
# Import WebSocket client library (and others)import websocketimport _threadimport time# Define WebSocket callback functionsdef ws_message(ws, message): print("WebSocket thread: %s" % message)def ws_open(ws): ws.send('{"event":"subscribe", "subscription":{"name":"trade"}, "pair":["XBT/USD","XRP/USD"]}')def ws_thread(*args): ws = websocket.WebSocketApp("wss://ws.kraken.com/", on_open = ws_open, on_message = ws_message) ws.run_forever()# Start a new thread for the WebSocket interface_thread.start_new_thread(ws_thread, ())# Continue other (non WebSocket) tasks in the main threadwhile True: time.sleep(5) print("Main thread: %d" % time.time())
有关 WebSocket 客户端库的完整详细信息和说明,请访问该库的代码存档。