Я разрабатываю игру, в которой игроки являются программируемыми ботами, конкурирующими в конкурсе на программирование. Боты могут быть запрограммированы на любом языке - Java, Ruby, Python, C#. Я ищу способ передачи игровых данных по сети или каким-то образом, с помощью которых игровой сервер может разговаривать с ботами. Что было бы лучше для этого? Должен ли я использовать XMPP или какую-либо другую форму вызова удаленного метода?Данные об игре по сети
ответ
То, что вы воспринимаете, не является проблемой RMI, а является отправкой сообщений. Я уверен, что есть несколько решений, которые вы могли бы использовать, и, основываясь на ограниченном знании вашего приложения, я бы сказал, что XMPP является одним из них. Он является агностиком языка и имеет библиотеки (и серверы), доступные на большинстве поддерживаемых языков.
Является ли это лучшим решением, я не могу сказать, но я думаю, что он жизнеспособен. Он дает вам возможность передавать от точки к точке, указывать на многие точки и средства для вашего игрового сервера для трансляции всем клиентам.
Веб-сервис, основанный на REST, может быть проще в использовании, если вам нужно много языков, чтобы иметь возможность его называть.
Проблема со многими инфраструктурами Remoting заключается в том, что они обычно не переносятся между фреймворками. Хотя XMPP может работать на вас - основная проблема, которую вы можете обнаружить, - это чрезмерные данные, пересекающие сеть из-за всего содержимого заголовка/присутствия в отправляемых данных. Кроме того, поскольку XMPP основан на XML, любые двоичные данные должны быть отправлены в виде строки Base64.
Лучшая ставка может быть более низкоуровневым интерфейсом разъема - любой способ иметь свободу делать бит-упаковку, чтобы уменьшить размер данных, возможно, будет полезен.
Ваш совет заключается в создании собственной инфраструктуры обмена сообщениями или RMI, которая поддерживает несколько языков?!? – Robin
Он строит игру, а не бизнес-приложение - может быть, гораздо больше сетевого трафика - я бы сказал, что механизм рамок/коммуникаций более низкого уровня был бы полезен - и для игры, в которой есть игровой сервер, выставляя веб-сервис вроде коммуникация имеет много накладных расходов и что с RMI вам нужно быть осторожным в отношении не переносных механизмов - java не может использовать .Net remoting .... Если он решит пойти по маршруту обмена сообщениями, я бы не рекомендовал использовать его построить свое собственное промежуточное ПО - это было бы безумным, но использование долговременных сообщений для общения с игрой также могло бы быть сумасшедшим. – saret
Также его вопрос касался не только того, какой каркас он должен использовать, если вы его читаете («Должен ли я использовать XMPP или какую-то другую форму вызова удаленного метода? ») - он также спрашивал, есть ли XMPP или один из механизмов удаленного вызова процедур (RPC), таких как RMI/DCOM/Corba/.Net Remoting, встроенный в некоторые из перечисленных f rameworks/languages (Java, Ruby, Python, C#), и я утверждал, что это не обязательно переносимый маршрут - кроме того, у него могут быть и другие проблемы, а также этот маршрут – saret
Я всегда нахожу, как изобретать колесо, чтобы быть утомительным. Попробуйте и посмотрите, можете ли вы использовать OpenTNL.
- 1. Как хранить и использовать данные об огнестрельном оружии в игре?
- 2. Оценка игрока по игре
- 3. Как отправить необработанные данные по сети?
- 4. xml данные по сети tcp. помогите
- 5. Как отключить данные мобильной сети по программированию
- 6. Как быстро отправлять данные по сети?
- 7. Учетные данные Active Directory по локальной сети
- 8. Java Socket не передает данные по сети
- 9. Как передавать статические данные объекта по сети?
- 10. Тенденция об ошибках нейронной сети
- 11. Воспитание по сети
- 12. Google рейтинг по игре
- 13. обнаружение столкновения по игре
- 14. Главное меню по игре
- 15. Сохранить Данные о игре - Java
- 16. Можно хранить информацию об игре на facebook?
- 17. Вопрос об искусственной нейронной сети
- 18. Уведомление об изменении состояния сети
- 19. Получить данные об условиях по $ resource angualrjs
- 20. данные импорта из сети
- 21. PROFINET опрос по сети Ethernet
- 22. передать java.lang.reflect.Proxy по сети
- 23. Копирование файлов по сети
- 24. Данные Json усекаются по сети сотовой связи ok на wifi
- 25. Отправка структур по сети
- 26. Именованные каналы по сети
- 27. Передача данных по сети
- 28. Видео лекции по игре programminng
- 29. Java: Exit Подтверждение по игре
- 30. Android 2D Советы по игре
Это не webapp. Это настольное приложение, написанное в QtRuby. Но REST все еще не отвечает, как я могу отправлять/получать сообщения от ботов с помощью PUSH. – Sathish