Несколько длинных опросов?
-
09-10-2019 - |
Вопрос
Я разрабатываю приложение чата, и я наткнулся на следующую мысль .. Должен ли я использовать «несколько» запросов длительного опроса к моему серверу, каждый из которых обращается за разные вещи. Например, одна проверка сообщений, один для «набрав», один для управления списком контактов «является онлайн / офлайн» и т. Д .. Или было бы лучше справиться с ним через один канал?
Решение
Опрос будет ваша самая большая пропускная способность / ресурсная свинья, поэтому держите его к минимуму; например, запросы на голову в выпуске с соответствующими датой / если-модифицированными, поскольку заголовки, которые позволяют разумному кэшировать разумно работать, с возвратом сервера только заголовки, содержащие дату и время последнего изменения в Любые от свойств, которые вас интересуют - или, возможно, что-то еще более минимально, чем это; И выпустить только полное получение, если возвращенные заголовки подразумевают новую информацию.
Другие советы
Мое мнение заключается в том, что вам было бы лучше с одной связью, а отправлять JSON-сообщения взад и вперед, например:
Пользователь присоединился:
{"user_add": "st3"}
Пользователь остался:
{"user_left": "sneeu"}
Сообщение получено
{"message": "Good morning!", "from": "st3"}
И они могут быть отправлены вместе в массиве, чтобы пользователи могли получить все с момента их последнего ответа.