Ответ 1
Библиотеки, такие как socket.IO, необходимы, когда нам нужно реальное время в нашем приложении. Позвольте мне объяснить это более подробно. позволяет предположить, что вы разрабатываете игру, которая является многопользовательской, и два или более пользователя могут играть одновременно. Тогда в этом случае вы не будете звонить по HTTP или HTTPS из-за многих причин, и один из них заключается в том, что их размер пакета большой, а другой - то, что эти вызовы очень медленные. В таких сценариях мы используем библиотеки, такие как сокеты для отправки и приема данных на сервер и обратно. сокеты очень быстрые и способны отправлять только те пакеты данных, которые необходимы. используя HTTP-программирование, вы никогда не сможете создать многопользовательскую игру или любое приложение, которое будет взаимодействовать с сервером в режиме реального времени.
дает другой пример. предположим, что вы работаете над приложением чата. когда пользователь A набирает что-то, тогда пользователь B должен знать, что A печатает, (аналогично gtalk facebook messenger). Если вы будете использовать HTTP-вызовы в этот момент времени, "B" никогда не сможет увидеть фактическое состояние другого человека из-за задержки. поэтому мы можем использовать сокеты, которые затем пользователь A набирает что-либо, тогда его устройство отправит только один пакет данных, который просто уведомит сервер, который он печатает, и будет доставлен пользователю B, этот процесс выполняется очень быстро (почти в реальном времени), и также уменьшит передачу данных.