Когда использовать socket.io и когда использовать ajax

Я программировал в nodejs, посмотрел, как использовать вызовы socket.io и ajax на сервере node. Is socket.io предназначен для замены ajax? Мне любопытно узнать, в каких случаях полезно использовать socket.io и какие ajax лучше. Спасибо за ввод.

Ответ 1

Ну, один из основных веб-сокетов (через socket.io) обеспечивает отсутствие аякса - это нагрузка на сервер. Таким образом, с помощью ajax, если вы хотите узнать о новых событиях на сервере (например, другой пользователь отправил вам сообщение), вам необходимо выполнить опрос серверов, что означает, что вы отправляете запросы ajax в относительно частом периодическом цикле. В большинстве случаев сервер отвечает, что нет ничего нового, но иногда, когда есть что-то новое, клиент может узнать об этом.

Веб-сокеты позволяют серверу активно отправлять уведомления клиенту без опроса. Поэтому, если ваше приложение имеет любую информацию, которая должна запускаться на сервере и просто отображается в браузере, веб-сокеты являются лучшим решением.

  • Передача данных на сервер в модели запроса/ответа
    • ajax или веб-сокеты по существу эквивалентны, традиционная форма POSTS также ОК
  • Отправка событий на сервер в модели потока событий
    • веб-сокеты лучше всего, их можно эмулировать через ajax несколько.
  • Нажатие событий с сервера на браузер
    • веб-сокеты лучше всего, их можно эмулировать с помощью длинного опроса ajax, flash и т.д. (socket.io имеет несколько резервных копий, которые он может попытаться использовать, если реальные веб-сокеты недоступны).
  • старые браузеры, некоторые мобильные платформы
    • поддержка веб-сокетов не существует, поэтому ajax - это ваш резервный