В asyncore, как я могу отправить данные всем или некоторым клиентам? - PullRequest
1 голос
/ 09 ноября 2010

Я создаю небольшую MMORPG, и я пытаюсь использовать asyncore, а не многопоточность.

1) Как бы я отправлял данные определенным клиентам, потому что при потоковой обработке сохраняются сокет каждого клиента и текущий в словарес его уникальным идентификатором в качестве ключа.Так как же я могу субъективно отправить данные всем клиентам.

Спасибо, пожалуйста, скажите, если я не дал достаточно информации

1 Ответ

1 голос
/ 09 ноября 2010

Замечательно, что вы хотите перейти к асинхронному программированию, а не к многопоточности, так как это намного надежнее и проще в отладке.

Однако, asyncore - плохая библиотека для этого.Я не советую вам использовать его вообще, так как он требует значительной переписки для выполнения простых вещей, таких как чтение стандарта io.

Я предлагаю вам перейти на витой - это большой асинхронныйфреймворк, хорошо протестированный и разработанный, с хорошей API-документацией и хорошей поддержкой сообщества.

Независимо от вашего решения о том, какую библиотеку использовать, я нахожу эту серию постов в блоге Дэйва Петиколаса отличный источник информации для начинающих об асинхронном программировании.Пожалуйста, прочтите его.

Некоторые игры находятся в стадии разработки с использованием витой.Одним из примеров является Minions of Mirth - я никогда не играл в нее, но это круто.

Есть также воображаемое divmod - это взятие имитатора на царстворолевые игры, интерактивная фантастика и многопользовательские подземелья.Он включает в себя игровые функции из каждой области, пытаясь обеспечить более богатую среду, чем обычно доступно в существующих системах.

Надеюсь, что помог.

...