Каков главный сценарий использования Socket.IO

Просто подумайте, зачем нам Socket.IO с точки зрения какого вида приложения или дела.

Я разработчик iOS, чтобы узнать проект с открытым исходным кодом socket.IO-objc

Обычно нам требуется HTTP или HTTPS для связи с сервером, сокет предназначен для связи в реальном времени (всегда должен поддерживать связь с HTTP)

Ответы

Ответ 1

Библиотеки, такие как socket.IO, необходимы, когда нам нужно реальное время в нашем приложении. Позвольте мне объяснить это более подробно. позволяет предположить, что вы разрабатываете игру, которая является многопользовательской, и два или более пользователя могут играть одновременно. Тогда в этом случае вы не будете звонить по HTTP или HTTPS из-за многих причин, и один из них заключается в том, что их размер пакета большой, а другой - то, что эти вызовы очень медленные. В таких сценариях мы используем библиотеки, такие как сокеты для отправки и приема данных на сервер и обратно. сокеты очень быстрые и способны отправлять только те пакеты данных, которые необходимы. используя HTTP-программирование, вы никогда не сможете создать многопользовательскую игру или любое приложение, которое будет взаимодействовать с сервером в режиме реального времени.

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

Ответ 2

Я также работаю над чат-приложением, используя socket.io. Таким образом, похоже, что все это заменяет socket.io. Это вызывает у меня сомнения и любопытство. Я полностью согласен с приложениями реального времени, такими как чат-игры для socket.io. Тем не менее, существует связь между проходами (например, логин пользователя), которая более подходит для HTTP.

Ответ 3

Socket.io использует веб-сокет для передачи данных между пользователями, которые все подключены к веб-серверу. В веб-сокете нет протоколов согласования, и соединение остается открытым, пока соответствующие пользователи регистрируются для обслуживания на веб-сервере. Как указывалось также, полезная нагрузка значительно меньше, чем протокол http/https.

Ответ 4

Socket.IO - это библиотека JavaScript для веб-приложений реального времени. Это позволяет осуществлять двустороннюю двустороннюю связь между веб-клиентами и сервером. Он имеет две части: клиентскую библиотеку, которая работает в браузере, и серверную библиотеку для node.js. Оба компонента имеют почти идентичный API.