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