我正在尝试一些基本的东西来连接 Bitmex 测试网 websocket。我原本想在使用 market_depth() 函数接收到一些数据后,通过 exit() 函数关闭 WS 连接。但不知何故,exit() 函数不起作用,WS 只是不断地将数据推送给我。
但令人惊讶的是,当我在调试模式下运行时,exit() 函数实际上可以在我逐行运行脚本时关闭 WS。背后的原因是什么?感谢您的帮助。下面是我使用的代码。
ps 我是新来使用 REST 或 WS api,希望能以某种方式详细解释
from bitmex_websocket import BitMEXWebsocket
import logging
def run():
logger = setup_logger()
ws = BitMEXWebsocket(endpoint="https://testnet.bitmex.com/api/v1", symbol="XBTUSD",
api_key=None, api_secret=None)
logger.info("Market depth: %s" % ws.market_depth())
ws.exit()
def setup_logger():
logger = logging.getLogger()
logger.setLevel(logging.DEBUG) # Change this to DEBUG if you want a lot more info
ch = logging.StreamHandler()
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
ch.setFormatter(formatter)
logger.addHandler(ch)
return logger
if __name__ == "__main__":
run()