Подскажите, какими технологиями лучше решить эту задачу
От: danilla  
Дата: 11.11.21 16:27
Оценка:
Хотелось бы сделать мобильное приложение для игры в шашки/нарды, но играть не с AI, а друг с другом в блиц.
Понятное дело, что нужен сервер (бесплатный подойдет для небольших нагрузок? firebase)

Но мне непонятно (как динозавру, который делал сайты на PHP), как работает блиц?
Мобильное приложение постоянно соединено с сервером? Как это работает? (например, великолепный lichess.org)
Re: Подскажите, какими технологиями лучше решить эту задачу
От: Bjorn Skalpe Земля  
Дата: 11.11.21 17:41
Оценка:
Зачем изобретать велосипед?
Re: Подскажите, какими технологиями лучше решить эту задачу
От: Vladek Россия Github
Дата: 11.11.21 20:52
Оценка: +1
Здравствуйте, danilla, Вы писали:

D>Хотелось бы сделать мобильное приложение для игры в шашки/нарды, но играть не с AI, а друг с другом в блиц.

D>Понятное дело, что нужен сервер (бесплатный подойдет для небольших нагрузок? firebase)

D>Но мне непонятно (как динозавру, который делал сайты на PHP), как работает блиц?

D>Мобильное приложение постоянно соединено с сервером? Как это работает? (например, великолепный lichess.org)

https://habr.com/ru/company/piter/blog/310680/
Re[2]: Подскажите, какими технологиями лучше решить эту задачу
От: danilla  
Дата: 12.11.21 03:31
Оценка:
Здравствуйте, Bjorn Skalpe, Вы писали:

BS>Зачем изобретать велосипед?


в смысле?
Re: Подскажите, какими технологиями лучше решить эту задачу
От: vsb Казахстан  
Дата: 12.11.21 08:46
Оценка: +1
Я так понимаю, суть вопроса в том, как серверу передавать информацию в браузер в режиме реального времени.

Для этого есть два основных подхода:

1. long polling. Браузер делает запрос вида GET /new-events. Сервер ответ на этот вопрос "замораживает". Как только появляется информация для браузера, он тут же её отправляет и завершает ответ. Конечно если информация уже есть в момент запроса, то отвечает сразу. Браузер обрабатывает полученные данные и опять делает этот запрос. Желательно сделать таймаут, что-то вроде 25 секунд и если за это время не появилось новых данных, то ответить специальным кодом, чтобы браузер опять сделал запрос.

2. web sockets. Тут устанавливается полноценный дуплексный канал связи от браузера до сервера и можно в любую сторону передавать данные. Тут чуть меньше накладных расходов и всё более стандартизовано. Давным давно оно плохо работало через прокси, но вроде те времена уже прошли.

Существенной разницы для вашей задачи между этими подходами нет, оба будут хорошо работать.
Re[2]: Подскажите, какими технологиями лучше решить эту задачу
От: danilla  
Дата: 12.11.21 10:07
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Я так понимаю, суть вопроса в том, как серверу передавать информацию в браузер в режиме реального времени.



Спасибо за обстоятельный ответ. Только не в браузер, а в мобильное приложение
Re[3]: Подскажите, какими технологиями лучше решить эту зада
От: vsb Казахстан  
Дата: 12.11.21 10:36
Оценка:
Здравствуйте, danilla, Вы писали:

vsb>>Я так понимаю, суть вопроса в том, как серверу передавать информацию в браузер в режиме реального времени.



D>Спасибо за обстоятельный ответ. Только не в браузер, а в мобильное приложение


Если это приложение, то у него нет ограничений браузера. Значит можно и обычное TCP-соединение использовать со своим протоколом. Это ещё одна опция.
Отредактировано 12.11.2021 10:38 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.