Зачем нам нужны веб-сокеты? - PullRequest
20 голосов
/ 01 сентября 2010

Это больше вопрос n00b, но я так и не узнал ответа.

так зачем нам протокол websockets?

и каковы преимущества использования HTTP в стиле кометы / длинного опроса / зависания в GET-стиле?

Ответы [ 4 ]

18 голосов
/ 01 сентября 2010

Comet и Ajax могут предоставлять конечным пользователям возможности, которые обеспечивают функциональность, аналогичную настольным, и низкую задержку, воспринимаемую пользователями, только веб-сокеты оправдывают обещание предоставить собственные средства для точной и эффективной потоковой передачи событий в и из браузера с незначительной задержкой.

При опросе он делает ненужные запросы, и в результате многие соединения открываются и закрываются без необходимости в ситуациях с низкой скоростью передачи сообщений (как при опросе он отправляет HTTP-запросы через равные промежутки времени и сразу получает ответ).

Веб-сокеты устраняют накладные расходы и значительно снижают сложность.

11 голосов
/ 07 июля 2013

1-WebSocket - это, естественно, дуплекс, двунаправленное соединение с одним разъемом. С WebSocket ваш HTTP-запрос становится один запрос на открытие соединения WebSocket и повторное использование того же соединения от клиента к серверу и от сервера к клиенту.

2-WebSocket уменьшает задержку. Например, в отличие от опроса, WebSocket делает один запрос. Серверу не нужно ждать запроса от клиент. Точно так же клиент может отправлять сообщения на сервер в любое время. Этот сингл запрос значительно уменьшает задержку по сравнению с опросом, который отправляет запрос с интервалами, независимо от о том, доступны ли сообщения.

3-WebSocket делает общение в реальном времени намного более эффективным. Вы всегда можете использовать опрос (а иногда даже потоковую передачу) по HTTP, чтобы получить уведомления по HTTP. Однако WebSocket сохраняет пропускную способность, мощность процессора и время ожидания. WebSocket - это инновация в производительности.

4-WebSocket является базовым сетевым протоколом, который позволяет вам создавать другие стандартные протоколы поверх него.

5-WebSocket является частью усилий по обеспечению расширенных возможностей для приложений HTML5 в чтобы конкурировать с другими платформами.

6-WebSocket о простоте

2 голосов
/ 13 января 2012

Вот статья о преимуществах websocket по сравнению с опросом на websocket.org

0 голосов
/ 01 сентября 2010

Не ясно, что они нам нужны. В сценарии отправки событий клиенту страница может выполнять обычные запросы AJAX GET в цикле, а сервер может «зависать» до тех пор, пока события не станут доступны. По истечении некоторого времени ожидания сервер может вернуть ответ «нет событий», чтобы клиент снова подключился. В течение периода, когда соединение открыто и клиент ожидает ответа, существует эффективный канал push от сервера обратно к клиенту.

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

Учитывая эту существующую возможность, возникает вопрос: действительно ли новая коммуникационная структура добавляет значительную ценность к тому, что уже можно сделать? Это действительно не позволило бы что-то, что не может быть сделано. Это только немного улучшит его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...