Доброго времени суток! Каким образом мобильный клиенты (iOS, android), такие как мессенджеры, мгновенно получают сообщения, пришедшие от сервера? Получается, что они постоянно держат соединение с сервером, чтобы мгновенно получать данные от другого клиента (как в чате)? За счёт чего это держится? Явно не средствами обычного http. Второй вопрос: как реализовать такого рода сервер (интересует php), чтобы его можно было использовать для: 1. Мобильных клиентов, в которых будет чат и потребуется постоянное соединение. 2. Сайта. Структура типичная: MVC, но так же будет чат и обычные страницы. Из известного мне подходят только сокеты, но они реализуются в приложениях структуры "демон", то есть запустил скрипт и все - крутится цикл до 2-ого пришествия. Но в таком случае, как на этом же сервере устроить и обычный сайт (+API) с одной точкой входа и проч? На текущий момент есть обычный php сервер, на нем держится сайт и с ним взаимодействуют мобильные приложения через API, нужно для веба и для мобильных клиентов написать чаты, но не пойму как сделать правильно и эффективно. Заранее спасибо.
сделаю допущение.. может как вебухуки у телеграмма? устройство ждет когда ему что то пришлют.. а куда слать - сервис определяет когда приложение аутентификацию проходит на сервисе..
Одно другому не мешает. Демон висит, ждёт сигналов. А сайт работает. Демона можно на другой порт повесить, к примеру. Или на поддомен. Можно даже демона написать на другом языке. Можно использовать какую-нибудь Centrifuge. Вообще много чего можно сделать
Но в любом случае его придётся отдельно запускать? И такой вопрос: для поставленных задач оптимально подойдут websocket'ы? --- Добавлено --- Нет, вопрос все же не об этом. Интересует принцип удержания постоянного соединения и реализация совместно мобильных приложений и сайта.
Ну под мобильные я не писал, не знаю, есть ли там инструменты для работы с веб-сокетами, хотя должны быть, по идее, а под веб - да, идеально
расскажите как)) мне тут предстоит поработать с сокетами) а я с ними еще не сталкивался)) когда то ковырял давным давно ради интереса)) но давно было))