Я программирую игру Android Multi-Player, которая в основном состоит из сервера, на котором клиенты подключают и обмениваются сообщениями. Когда игрок подключается к серверу, список игроков возвращается ему/ей. Затем игрок может выбрать пользователя, чтобы бросить вызов - конечно, он должен выбрать игрока из списка игрока, который содержит только подключенных пользователей. Затем Player2 может принять /снизить задачу. Сервер в основном принимает соединение от клиента, порождая новый поток для каждого подключенного клиента. Проблема с этим: < /p>
Должен быть постоянное соединение, открытое от клиента к серверу, тратя с автономной работы телефона Android. Это не очень большое ограничение, так как батарея не используется так много. < /li>
Я также волнуюсь, если это способ сделать это. Сокращение другой ветки для каждого клиента звучит довольно много, если тысячи клиентов подключаются одновременно. Но я предполагаю, что игры для компьютера делают это так. Не уверен насчет Android. Это было бы идеальным решением, если бы сервер мог бы легко отправить уведомления клиентам. Здесь на самом деле существует несколько решений о дизайне: < /p>
Клиент тянет сервер для любых новых данных /уведомлений каждые несколько секунд - это действительно плохо, поскольку мы застряли с не отзывчивой, задержкой и т. Д. Это лучше, но все равно может создать задержку, когда два уведомления один за другим необходимо отправлять пользователю. Первое уведомление отправляется мгновенно, так как клиент уже открыт соединение, ожидающее получения данных. Но нам придется ждать, пока клиент инициирует еще один длинный HTTP -запрос, чтобы получить второе уведомление. Проблема становится больше, так как существует несколько уведомлений, которые необходимо отправить в строку конкретному клиенту. Проблема здесь в том, что я не знаю, насколько хорошо это работает на Android. Я посмотрел на несколько реализаций:
Java Jersey + Attosphere: не удалось на самом деле заставить ее работать. Это кажется наиболее перспективным, но я не хочу тратить на это слишком много времени, так как я даже не уверен, что это делает то, что я хочу. Когда Player1 бросает вызов Player2, может ли он отправить уведомление для Player2, сообщая о запросе матча? Совершенно новое предложение, как достичь того, чего я хочу. Я могу в значительной степени кодировать что угодно, поэтому не стесняйтесь сообщить мне о некотором более сложном способе достижения сетевой связи. Так что я могу запрограммировать интерфейс /что угодно и повторно использовать код в других играх Android, приложения Android. < /P>
Надеюсь, я представил проблему, и что я получу несколько ценных ответов. < /P>
Спасибо < /p>
Подробнее здесь: https://stackoverflow.com/questions/849 ... er-network
Android Multi Player игра по сети ⇐ Android
Форум для тех, кто программирует под Android
1741519836
Anonymous
Я программирую игру Android Multi-Player, которая в основном состоит из сервера, на котором клиенты подключают и обмениваются сообщениями. Когда игрок подключается к серверу, список игроков возвращается ему/ей. Затем игрок может выбрать пользователя, чтобы бросить вызов - конечно, он должен выбрать игрока из списка игрока, который содержит только подключенных пользователей. Затем Player2 может принять /снизить задачу. Сервер в основном принимает соединение от клиента, порождая новый поток для каждого подключенного клиента. Проблема с этим: < /p>
Должен быть постоянное соединение, открытое от клиента к серверу, тратя с автономной работы телефона Android. Это не очень большое ограничение, так как батарея не используется так много. < /li>
Я также волнуюсь, если это способ сделать это. Сокращение другой ветки для каждого клиента звучит довольно много, если тысячи клиентов подключаются одновременно. Но я предполагаю, что игры для компьютера делают это так. Не уверен насчет Android. Это было бы идеальным решением, если бы сервер мог бы легко отправить уведомления клиентам. Здесь на самом деле существует несколько решений о дизайне: < /p>
Клиент тянет сервер для любых новых данных /уведомлений каждые несколько секунд - это действительно плохо, поскольку мы застряли с не отзывчивой, задержкой и т. Д. Это лучше, но все равно может создать задержку, когда два уведомления один за другим необходимо отправлять пользователю. Первое уведомление отправляется мгновенно, так как клиент уже открыт соединение, ожидающее получения данных. Но нам придется ждать, пока клиент инициирует еще один длинный HTTP -запрос, чтобы получить второе уведомление. Проблема становится больше, так как существует несколько уведомлений, которые необходимо отправить в строку конкретному клиенту. Проблема здесь в том, что я не знаю, насколько хорошо это работает на Android. Я посмотрел на несколько реализаций:
Java Jersey + Attosphere: не удалось на самом деле заставить ее работать. Это кажется наиболее перспективным, но я не хочу тратить на это слишком много времени, так как я даже не уверен, что это делает то, что я хочу. Когда Player1 бросает вызов Player2, может ли он отправить уведомление для Player2, сообщая о запросе матча? Совершенно новое предложение, как достичь того, чего я хочу. Я могу в значительной степени кодировать что угодно, поэтому не стесняйтесь сообщить мне о некотором более сложном способе достижения сетевой связи. Так что я могу запрограммировать интерфейс /что угодно и повторно использовать код в других играх Android, приложения Android. < /P>
Надеюсь, я представил проблему, и что я получу несколько ценных ответов. < /P>
Спасибо < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/8490574/android-multi-player-game-over-network[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия