Как сделать сервер для игры на Java?

Для начала от сервера требуется самое простое: пересылать данные от одного игрока ко всем остальным. Всего одновременно подключено человек 10. Проблема в том, что игра в жанре аркады, и нужен постоянный обмен данными. При текущей реализации, периодически (~один раз в 20 сек.) сервер виснет на секунду или чуть меньше. Происходит это только если клиент и сервер на разных машинах. Не знаю как с этим бороться.
Может посоветуете какие статьи/книги по данной теме? Желательно на русском, ибо с английским не очень дружу.
Или в двух словах опишите наиболее верную архитектуру для такого сервера?
  • Вопрос задан
  • 5306 просмотров
Решения вопроса 1
Я думаю, вам для начала пригодятся эти ссылки (за некоторыми одна статья, некоторые идут на целые разделы):

gamedev.9fog.com/tag/java-server
javatalks.ru/topics/24659?page=1#121338
https://forum.zone-game.info/showthread.php?t=24211
habrahabr.ru/post/229045
habrahabr.ru/post/136765
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Foror
@Foror
Графоман
Копайте в сторону NIO. Можете здесь на русском поискать www.youtube.com/user/KharkovITCourses/videos

Если подвисает раз в 20 сек., то скорее всего срабатывает GC. Можно попробовать добавить опцию -Xmx 1G при старте JVM, тем самым выделив 1G оперативки, тогда GC будет реже срабатывать.

Можно еще и сам GC потюнить, гуглите на тему GC CMS tuning или Java GC types для смены GC на какой-нибудь другой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы