Об этом недавно спросили в Reddit, так что я более или менее просто скопирую свой ответ оттуда.Я извиняюсь за то, что не смог предоставить больше ссылок, у меня <10 повторений, поэтому я могу публиковать только две за один раз. </p>
Twisted может работать, но у меня нет большого опыта с этим.Я бы порекомендовал использовать сокеты, так как в любом случае Twisted использует их в фоновом режиме.Руководство Биджа (google it) - это в значительной степени Библия сокетов, если вы хотите узнать, как они работают (в C ++, но концепции распространяются повсюду).Python устраняет некоторые сложности, но все же хорошая идея знать, что происходит в фоновом режиме.
Для сокетов, специфичных для Python, вы можете пойти дальше и просто использовать howto (user745294 разместил ссылку выше). Вот хорошая статья под названием «Что нужно знать каждому программисту об игровой сети».В нем рассматриваются различные типы основных сетевых стилей (клиент-сервер, p2p, udp v. Tcp и т. Д.), А также история того, что некоторые основные игры использовали для своих сетей.
Ниже приведена ссылка надемо я сделал при создании сетевой "игры" в Python 2.6 / Pygame.На самом деле это не игра, но каждый клиент, которого вы создаете, подключается к серверу и управляет персонажем.Вы можете перемещать своего персонажа с помощью клавиш со стрелками, и персонаж будет перемещаться на всех подключенных клиентах.Я пытался комментировать исходный код с некоторым указанием того, что я отправляю туда и обратно, но вам, возможно, понадобится немного знаний о сокетах, чтобы понять его.
Исходный код приведен в ссылках на кодовую панель в комментарии.ниже этого поста.Вам потребуется предоставить два изображения в одном каталоге со скриптами:
bg.png
- фоновый спрайт.Это должно быть изображение шириной 400px и высотой 300px (при необходимости это можно изменить в классе GameClient
) sprite.png
- персонаж игрока.Он должен быть меньше фона, чтобы вы могли видеть, как он движется.