| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > помогите определиться с архитектурой |
| Автор: JohnTravolta 3.9.2010, 13:35 |
| добрый всем день. я новичок в Java. пытаюсь реализовать реалтайм игру между двумя клиентами. посоветуйте как оптимально передавать данные о состоянии игрового мира из сервлета клиенту? и принимать сигналы клиентов? чтоб если в будущем будет 500 человек онлайн, было меньше проблем. есть ли возможность использовать 1 сервлет для 2х клиентов? пакеты около 100байт. в результате наблюдений выяснил что поступать данные должны каждые 100мс и уже на клиенте корректироваться(интерполяция, экстраполяция и т.д) выяснил что есть такое понятие как сокет. но я не представляю как отправлять данные через определённый интервал времени. |
| Автор: Nofate 3.9.2010, 14:22 |
| Сервлеты вам скорее всего не пригодятся, если только это не браузерная игра. Для начала посмотрите как реализовать при помощи сокетов простенький клиент и сервер, попробуйте сделать чат на несколько человек. Обдумайте, какие данные стоит передавать, а какие могут просто храниться на клиенте. Для многопользовательской игры сервер в первом приближении будет выглядеть как бесконечный цикл примерно следующего содержания:
|
| Автор: JohnTravolta 3.9.2010, 14:30 |
| спасибо. Нашёл некоторые примеры.Запустил. Не ясно могут ли несколько клиентов соединиться с одним портом указанном на сервере? или нужно для каждого соединения организовывать на сервере свой сокет типа new ServerSocket(N)? N-номер порта для очередного клиента. если так то как эти номера выбрать клиенту и серверу? |
| Автор: kosmonaFFFt 4.9.2010, 06:18 |
| Несколько клиентов могут коннектиться на один порт сервера... На сервере при приеме соединения создается отдельный сокет для работы с каждым клиентом... |
| Автор: JohnTravolta 4.9.2010, 10:52 |
| спасибо вам за ответы. |