Есть ли веские причины использовать Websockets вне браузера? - PullRequest
10 голосов
/ 17 ноября 2010

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

1 Ответ

19 голосов
/ 17 ноября 2010

Я собираюсь ответить на пару разных вопросов, которые, мы надеемся, в конечном итоге ответят на ваш вопрос:

  • Есть ли причина использовать WebSockets с клиента, а не HTTP? Да .

    • WebSockets является двунаправленным, полнодуплексным, с малой задержкой и малыми издержками по сравнению с HTTP.

    • Часть более низкой задержки и издержек по сравнению с HTTP / AJAX / COMET заключается в том, что вам не нужно повторно устанавливать соединение для каждого запроса.

  • Есть ли причина использовать WebSockets с клиента, а не с необработанными сокетами? Да .

    • Начальное рукопожатие WebSockets является дружественным для HTTP-сервера (и имеет некоторые механизмы обеспечения безопасности при обмене исходными данными и хеш-обменом). Он позволяет легко обновлять веб-серверы для поддержки перенаправления или прокси для соединений WebSockets с реальным приложением сервера WebSockets.

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

    • Довольно просто добавить поддержку WebSockets к существующим серверам сокетов TCP или прокси через что-то вроде websockify . Отказ от ответственности: я сделал websockify.

    • С точки зрения сервера, WebSockets - выигрыш, потому что к ним можно получить доступ через автономные клиенты или через браузеры. Это означает, что будет все больше и больше сервисов, которые в настоящее время основаны на сокетах TCP и будут доступны через WebSockets. Поэтому добавление поддержки WebSockets к клиенту сейчас окупится в будущем.

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