Что вы получаете с веб-сокетами HTML5, чего нет у AJAX? - PullRequest
5 голосов
/ 15 марта 2011

Ян Хиксон говорит :

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

Что вы можете получить с веб-сокетами, которые вы не можете получить с AJAX? Это просто удобство или это как-то более эффективно? Может ли сервер отправлять данные клиенту, не дожидаясь сообщения, чтобы он мог ответить?

Ответы [ 2 ]

4 голосов
/ 16 марта 2011

Да, все дело в том, что сервер может передавать данные клиенту.В настоящее время имитация двунаправленной связи без Flash / Silverlight / Java / ActiveX принимает форму одного из двух обходных путей:

  • Традиционный опрос: клиенты часто делают небольшие запросы к серверу, проверяя обновления.Даже если обновление не произошло, клиент не знает об этом и должен постоянно запрашивать обновления.Хотя каждый запрос может быть небольшим, постоянный опрос многих клиентов может быстро сложиться.
  • Длительный опрос: клиенты периодически отправляют запросы на обновления, например, регулярный опрос, но если обновлений еще нет, сервер неответить немедленно и держит соединение открытым.Когда обновление наконец доступно, сервер передает его клиенту, который воздействует на него и затем повторяет этот процесс.Длительный опрос предлагает принудительное разрешение обновления, но в основном представляет собой DDoS-атаку, наносимую самим собой, и может быть очень ресурсоемким для многих типов веб-серверов.длительных опросов, с существенно меньшими издержками на стороне сервера.
2 голосов
/ 15 марта 2011

WebSockets более эффективны (и «в реальном времени»), чем вызовы AJAX, потому что вы сохраняете соединение открытым и не отправляете дополнительные заголовки протокола и другие вещи после каждого запроса и ответа.Посмотрите на эту статью:

Во время установления соединения с WebSocket, клиент и сервер обмениваются данными по кадрам, каждый по 2 байта, по сравнению с 8 килобайтами заголовка http, когда вы это делаетенепрерывный опрос.

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