在 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 (将#修改为@)