HTML5. WebSockets
Введение
Веб-сокеты - революция в общении браузера с сервером. Этот протокол поднимает на новый уровень динамику веб-приложения. WebSocket - протокол полнодуплексной связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени.
На текущий момент (июль 2012 года) веб-сокеты поддерживают практически все браузеры: FireFox, Chrome, Safari, Opera. Последний браузер пока еще не решается использовать данную технологию, поэтому включаем ее ручками: заходим в about:config, ищем в списке модулей WebSockets, ставим галочку напротив EnableWebsockets. Про IE 9 могу сказать, что вебсокетов в нем нет, но html5 частично реализован, обещают их реализовать в следующей версии браузера.
Примеры
var webSocket = new WebSocket('ws://localhost/echo'); webSocket.onopen = function(event) { alert('onopen'); webSocket.send("Hello Web Socket!"); }; webSocket.onmessage = function(event) { alert('onmessage, ' + event.data); webSocket.close(); }; webSocket.onclose = function(event) { alert('onclose'); };
Тут все просто как банан.
В конструктор веб-сокета передаем адрес сервера с префиксом ws для обычного соединения или wss для SSL-соединения. Если порт явно не указан, то для ws используется 80, а для wss 443 порт. Далее, определяем функции обратного вызова: onopen (при открытии сокета), onmessage (при получении сообщения), onclose (при закрытии сокета). Объект события каждой функции имеет поле data, которое непосредственно содержит данные, пришедшие с другого конца сокета. Отправляемые и получаемые данные могут быть любого типа - обычный текст, xml, json и др.
Рельные примеры веб-приложений с использованием веб-сокетов:
1. ивглонасс.рф
2. bombermine.ru
Протестировать браузер на поддержку веб-сокетов:
1. websocketstest.com
2. websocket.org/echo.html