отправка списка через сокет python3 - PullRequest
0 голосов
/ 14 января 2019

Я пытался в течение 2 дней отправить список из 40 000 элементов, в каждом из которых по 3 элемента (это просто список в списке). Я пытаюсь заставить сервер отправлять список клиенту, чтобы они могли отображать его с помощью pygame. к сожалению, я плохое исследование и существую должным образом, так что ничего не помогло. Я пробовал мариновать и JSON. Я мог сделать их неправильно, хотя.

/ server.py

def threaded_client(conn):
     while True:
        conn.send(json.dumps(cubes).encode())
def  stuffs():
    while True:
        cubes = Sgeneration.cubes.list
        s.listen()
        conn,data = s.accept()
        if not conn in humans:
            humans.append(conn)
            start_new_thread(threaded_client,(conn,))
        Sgeneration.generate.draw(gameDisplay)
        pygame.display.update()
stuffs()

/ generation.py

def draw(window):
    global cubes
    g = s.recv(4096)
    g = json.loads(data)

    print(type(g))
    for x in g.get("a"):
        pygame.draw.rect(window,x[2],[(x[0]*distance+offset[0]),x[1]*distance+offset[1],distance,distance])

1 Ответ

0 голосов
/ 20 января 2019

Я исправил это. то, что я сделал, было только отправить все это в начале соединения. Я также отправил его небольшими порциями. Когда я отправлял обратно каждому клиенту, я отправлял только то, что изменилось. Это на удивление сработало. потребовалось время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...