Правильная реализация long-polling

263
10 июня 2017, 16:21

Наткнулся на код сервера, предназначение которого обеспечение ajax + long polling запросы к серверу.

В нем есть момент: запускается бесконечный цикл с sleep(1), который ждет пока что-то изменится, и посылает запрос обратно, завершая свою работу.

Затем наткнулся на статью человека, который отказался от вебсокетов по аргументированным причинам в сторону long polling сначала на php, но затем ушел, так сказать, "на компиляцию".

Но там же есть такой вот (это та статья) интересный комментарий, который предлагает реализацию какого-то общего цикла...
Благодаря которому всё бы прекрасно работало для проекта автора статьи.

Я как-то натыкался на то, что каждый запрос в long polling запускает на апаче новый процесс и он будет висеть на каждое соединение столько, сколько нужно, занимая оперативную память. И что при количестве подключений чуть больше, чем низкое, сервак уже ложится. Чего бы мне не хотелось с моим.

Так вот, как сделать этот "общий цикл"? Что это такое в принципе?
Как правильно составить серверный код на обработку long pooling?

Я реализую сервис, которым пользоваться будут, наверно, человек 300 одновременно... Честно говоря, я вообще никогда виртуальный хостинг не имел и это первый проект "в свет", так что мне сложно сказать о нагрузке)
Но очень переживаю уж за неё, не хочу написать код, который совершенно бесполезен окажется из-за постоянных дропов сервера.

READ ALSO
Как заменить слова при авторизации

Как заменить слова при авторизации

Чтоб при авторизации,выводился email вместо sign in, когда пользователь авторизировался

217
Где ошибка в запросе MYSQL?

Где ошибка в запросе MYSQL?

Выпадающий список берет ФИО и uid докторов из таблицы doctors

230
Как правильно отпавить сформированый json?

Как правильно отпавить сформированый json?

Пытаюсь создать свое расширениеПолучается js скриптом формирую json, а дальше закидываю в input type='hidden' Вот сама форма

244