Пожалуйста, остановите меня, прежде чем я совершу большую ошибку :) - Я пытаюсь написать простую многопользовательскую игру-викторину для телефонов Android, чтобы получить некоторый опыт написания кода сервера.
Я никогда раньше не писал код сервера.
У меня есть опыт работы с Java, и использование Sockets кажется мне самым простым вариантом. Браузерная игра будет означать независимость от платформы, но я не знаю, как обойти отсутствие подталкивания с использованием Http с сервера на браузер.
Вот так должна получиться игра, она должна дать представление о том, что мне нужно;
Пользователь запускает приложение, и оно подключается через сокет к моему серверу.
Сервер ждет 4 игроков, группирует их в игру, а затем транслирует первый вопрос для викторины.
После того, как все игроки представили свои ответы (или прошло 5 секунд), Сервер распределяет правильный ответ со следующим вопросом.
Это основы, вы, вероятно, можете заполнить более мелкие детали, на самом деле это просто игрушечный проект.
МОЙ ВОПРОС ЕСТЬ;
Каковы ловушки использования простого JAR на сервере для обработки клиентских запросов? Код сервера регистрирует ServerSocket при первом запуске и создает пул потоков для обработки входящих клиентских подключений. Есть ли вариант, который по своей сути лучше для подключения к нескольким клиентам в режиме реального времени с двухсторонней связью?
Простой пример приведен в SUN tutorials , внизу которого вы можете увидеть исходный код многопоточного сервера, за исключением того, что у меня изначально есть пул потоков, чтобы уменьшить нагрузку, мой сервер в основном такой же.
Сколько клиентов вы ожидаете, что эта система сможет обрабатывать? Если у нас есть новый поток для каждого клиента, я вижу, что это ограничение, а также количество бесплатных сокетов для одновременных игроков. Потоки, кажется, достигают максимума около 6500 , а количество доступных сокетов почти в десять раз больше.
Если честно, если бы моя игра могла обрабатывать 20 одновременных игроков, это было бы хорошо, но я пытаюсь понять, насколько глуп этот подход по своей сути. Любые статьи о настройке простого шахматного сервера или чего-то еще были бы удивительными, я просто не могу их найти.
Заранее спасибо, знающие,
Гав