Наиболее подходящее промежуточное программное обеспечение, ориентированное на сообщения, для многоязычной карточной игры клиент / сервер?
Я собираюсь написать карточную игру клиент / сервер для обучения / практических целей и собираюсь использовать Java как для клиента, так и для сервера с самого начала. В будущем я буду продолжать использовать этот проект для обучения и, следовательно, захочу написать дополнительные клиенты на других языках, таких как C и C++.
Главная деталь, в которой я не уверен, это то, нужно ли мне использовать MOM с брокером сообщений, или я могу уйти, не используя его.
Сначала я думал, что смогу справиться с невозможностью отправить / получить сообщение с обеих сторон, что вызвало попытку повторно отправить сообщение, в результате чего игра завершилась, если количество попыток достигло максимума.
Однако вместо того, чтобы просто иметь игровой клиент и игровой сервер, я думал о том, чтобы иметь клиента, лобби-сервер и игровой сервер. Таким образом, мне понадобится брокер сообщений для маршрутизации правильных сообщений на правильный сервер, однако я не уверен, если помимо этого, если у меня есть необходимость в брокере сообщений, так как я не уверен, что мне действительно нужно какое-либо средство для постоянство сообщения.
Я склоняюсь к переходу на MOM с брокером сообщений, но я бы приветствовал более легкие решения, если я буду делать это без необходимости. Тем не менее, если бы я сделал то, что будет подходящей кросс-языковой мамой для использования? Я видел довольно много предложений по SO раньше, но я не уверен, что лучше всего соответствует моим потребностям.
1 ответ
Для мультиязычного MOM - я предлагаю вам использовать Apache ActiveMQ. Он соответствует спецификации JMS, а также имеет надежную клиентскую библиотеку C++. Это открытый исходный код (лицензия Apache)
Да, другой легкий вариант, который вы можете исследовать, это HTTP. особенно для связи клиента с сервером. (Поскольку клиентам может понадобиться подключиться к серверу через брандмауэры и т. Д. - порт HTTP проще всего получить и т. Д.).
Для лобби-сервера - игрового сервера - мне нравится твое представление о маме.