Описание тега websocket
WebSockets (или WebSocket) - это API и протокол для двунаправленной полнодуплексной связи через сокеты TCP. API WebSockets изначально был частью стандарта HTML5, но был выделен в отдельный стандарт W3C. Протокол WebSockets - это стандарт IETF, описанный в RFC 6455.
API WebSockets полностью поддерживает браузеры в Chrome 14, Firefox 6, IE 10 (настольный и мобильный), Opera 12.1 (настольный и мобильный), Safari 6.0 (настольный и мобильный), Android 4.4, Chrome Mobile и Firefox Mobile. Некоторые старые браузеры имеют частичную поддержку или могут поддерживаться с использованием резервной копии на основе Flash.
WebSockets поддерживает как незашифрованные, так и зашифрованные соединения. Незашифрованные соединения используют схему URL-адреса "ws://" и по умолчанию порт 80. Зашифрованные соединения используют схему URL-адреса "wss://" и по умолчанию порт 443. Зашифрованные соединения используют безопасность транспортного уровня (TLS).
Пример JavaScript для простого браузера WebSockets:
if ("WebSocket" in window) {
var ws = new WebSocket("ws://echo.websocket.org/");
ws.onopen = function() {
console.log("WebSockets connection opened");
ws.send("a test message");
}
ws.onmessage = function(e) {
console.log("Got WebSockets message: " + e.data);
}
ws.onclose = function() {
console.log("WebSockets connection closed");
}
} else {
// No native support
}
Полезные ссылки
- Эхо-сервер веб-сокетов
- Объявление о WebSockets в блоге Chromium
- Socket.IO: клиентская и серверная библиотека JavaScript ( Node.js), обеспечивающая кросс-браузерное взаимодействие с автоматическим откатом к наилучшему поддерживаемому методу.
- websockify: WebSockets для общего прокси / моста TCP-сокетов. Три реализации для справки: Python, C и Node.js.
- WebSockets против BOSH/Channel API
- Поддержка браузера и сервера WebSockets: ответ на Stack Overflow, список caniuse.com
- Веб-сокеты с Spring Framework 4.0