PYTHON Совместная работа pygame и sockets

Доброго времени суток !!!

import pygame
import socket   
import asyncio
import json
sock = socket.socket()
sock.connect(('localhost', 8000))
sock.send(b'SCR')
FPS = 60
pygame.init()
FORM = pygame.display.set_mode((640, 480))
clock = pygame.time.Clock()
FONT =  pygame.font.Font(None, 36)
pygame.display.update()
Turn = []
async def net():
    Turn = await json.loads(sock.recv(1024).decode())
    print(Turn)
async def loop():
    while True:
        await clock.tick(FPS)
        for i in pygame.event.get():
            if i.type == pygame.QUIT:
                exit()
        for _ in range(0,len(Turn)):
            FORM.blit(FONT.render(str(Turn[_]),False,(255,255,255)),(50,50+50*_))
        pygame.display.update()

ioloop = asyncio.get_event_loop()
tasks = [ioloop.create_task(net()), ioloop.create_task(loop())]
wait_tasks = asyncio.wait(tasks)
ioloop.run_until_complete(wait_tasks)
ioloop.close()

Мне нужно создать клиент НА PYGAME, который будет выводить то, что присылает сервер. Для этого сервер надо постоянно слушать, но беда в том, что pygame начинает "Не отвечать", из-за того, что работающий recv() не даёт ничего сделать. Я думал и думаю, что проблему можно решить через asyncio, но я не понимаю как осуществить решение. КРАТКО: Задача: Пусть всё работает, но pygame не зависает.


Ответы (0 шт):