Хотелось бы сделать мобильное приложение для игры в шашки/нарды, но играть не с AI, а друг с другом в блиц.
Понятное дело, что нужен сервер (бесплатный подойдет для небольших нагрузок? firebase)
Но мне непонятно (как динозавру, который делал сайты на PHP), как работает блиц?
Мобильное приложение постоянно соединено с сервером? Как это работает? (например, великолепный lichess.org)
Re: Подскажите, какими технологиями лучше решить эту задачу
Здравствуйте, danilla, Вы писали:
D>Хотелось бы сделать мобильное приложение для игры в шашки/нарды, но играть не с AI, а друг с другом в блиц. D>Понятное дело, что нужен сервер (бесплатный подойдет для небольших нагрузок? firebase)
D>Но мне непонятно (как динозавру, который делал сайты на PHP), как работает блиц? D>Мобильное приложение постоянно соединено с сервером? Как это работает? (например, великолепный lichess.org)
Я так понимаю, суть вопроса в том, как серверу передавать информацию в браузер в режиме реального времени.
Для этого есть два основных подхода:
1. long polling. Браузер делает запрос вида GET /new-events. Сервер ответ на этот вопрос "замораживает". Как только появляется информация для браузера, он тут же её отправляет и завершает ответ. Конечно если информация уже есть в момент запроса, то отвечает сразу. Браузер обрабатывает полученные данные и опять делает этот запрос. Желательно сделать таймаут, что-то вроде 25 секунд и если за это время не появилось новых данных, то ответить специальным кодом, чтобы браузер опять сделал запрос.
2. web sockets. Тут устанавливается полноценный дуплексный канал связи от браузера до сервера и можно в любую сторону передавать данные. Тут чуть меньше накладных расходов и всё более стандартизовано. Давным давно оно плохо работало через прокси, но вроде те времена уже прошли.
Существенной разницы для вашей задачи между этими подходами нет, оба будут хорошо работать.
Re[2]: Подскажите, какими технологиями лучше решить эту задачу