Обмен данными между программами, написанными на разных языках - PullRequest
0 голосов
/ 13 апреля 2009

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

Однако я не могу определиться между различными способами обмена данными между сервером (C ++) и клиентами (любым языком, но первые эталонные реализации будут на C ++ и Python).
Для транспорта я подумал о предложении HTTP и TCP (некоторый простой протокол homebrew), так как большинство языков имеют дружественные для начинающих реализации этих протоколов.

Для кодирования данных я рассмотрел что-то произвольно определенное мной (что-то примитивное, как CSV), JSON и XML, но я хотел бы получить некоторые комментарии, касающиеся простоты использования в C ++, простых реализаций на различных языках и понятности для людей. 1006 *

Что мне делать?

1 Ответ

1 голос
/ 13 апреля 2009

Если вы собираетесь создавать браузерную игру, то люди, которые будут в нее играть, будут использовать http-запросы и посещать определенные URL-адреса. Для меня имеет смысл сохранить ваш API для ботов похожим на это, а не дублировать работу для себя. Так почему бы не раскрыть функциональность вашей игры через веб-сервисы?

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

Что касается языков, есть ли причина, по которой вы выбираете C ++ для браузерной игры? Существует множество веб-фреймворков, но мало кто использует C ++.

...