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 не зависает.