JS / HTML5 WebSocket: подключение без HTTP-вызова - PullRequest
11 голосов
/ 04 января 2011

Хорошо, поэтому я просто опробовал новый класс WebSocket в HTML 5, и был довольно взволнован, что они существуют; Тем не менее, я не вижу, насколько они более полезны, чем AJAX, поскольку они по-прежнему инициируют HTTP-вызов и не похожи на обычные сокеты. Вот почему я спрашиваю здесь.

Есть ли способ с классом HTML 5 WebSocket для подключения к сокету прослушивания без отправки данных HTTP? В настоящее время с помощью построителя TCP / IP он показывает все эти ненужные заголовки (поскольку я хочу подключаться к серверам POP3 / IMAP без таких вещей, как мосты Flash или Comet).

Возможно

Выход из соединения:

Listening for connections...Connected
GET / HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:666
Origin: null
Sec-WebSocket-Key1: 2 987_390VNw60yi9
Sec-WebSocket-Key2: ~196  Y p  5    P67 428  ?

1 Ответ

5 голосов
/ 04 января 2011

Нет. Как только соединение установлено, у вас есть настоящий сокет. Но вы правы, что для этого требуется специальная поддержка сервера. Таким образом, он не позволит вам подключиться к неизмененному серверу POP или IMAP.

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

Там - это , все еще большое отличие от AJAX и COMET. Вы можете использовать WebSockets для обеспечения полнодуплексной связи между сервером и клиентом. Предыдущие API-интерфейсы для браузера не предусматривали этого, заставляя людей использовать различные обходные пути (например, повторные запросы AJAX, навсегда фрейм COMET и другие).

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