微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 pygame 中使用 Python websocket

如何解决在 pygame 中使用 Python websocket

我试图通过 websocket 从互联网上获取数据并用 pygame 显示它们。 但是 pygame 窗口冻结并且不再改变。 调用了“可视化”函数,但未执行函数内的代码

有人知道解决方案吗?

谢谢你和最好的问候

import websocket,json,pprint,pygame

WHITE = (255,255,255)
BLACK = (0,0)
RED = (255,0)
GREEN = (0,0)
BLUE = (0,255)
YELLOW = (0,255)
PURPLE = (128,128)
ORANGE = (255,165,0)
GREY = (128,128,128)
TURQUOISE = (64,224,208)

WIDTH = 800
WIN = pygame.display.set_mode((WIDTH,WIDTH))
pygame.display.set_caption("Trading Bot")
WIN.fill(WHITE)
pygame.display.update()

SOCKET = "wss://stream.binance.com:9443/ws/etheur@kline_1m"

closes = []

def visualization():
    global WIN
    global BLUE
    global closes

    if len(closes) % 2 == 0:
        WIN.fill(WHITE)
        pygame.display.update()
    else:
        WIN.fill(BLACK)
        pygame.display.update()

def on_open(ws):
    print("opened connection")

def on_close(ws):
    print("closed connection")

def on_message(ws,message):
    global closes
    global count

    #print("received message")
    json_message = json.loads(message)
    #pprint.pprint(json_message)

    candle = json_message['k']

    is_candle_closed = candle['x']
    close = candle['c']

    if is_candle_closed:
        print("candle closed at {}".format(close))
        closes.append(float(close))
        print("closes:")
        print(closes)
        print("")
        visualization()

ws = websocket.WebSocketApp(SOCKET,on_open=on_open,on_close=on_close,on_message=on_message)
ws.run_forever()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。