Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
WebSockets Докладчик: Лисицкий Евгений «Спорт Сегодня»
Структура доклада: Работа интерактивного веба  Преимущества  WebSockets . Сравнение со стандартными технологиями. Техническая сторона вопроса Примеры реализации
Схема работы: ТРАНСПОРТ СЕРВЕР КЛИЕНТ
Популярные реализации: Erlang: MochWeb, Misultin  JavaScript: NodeJS Perl: AnyEvent, Coro, POE  Python :  Twisted, Tornado Ruby: EventMachine   и другие
Схема работы: HTTP ТРАНСПОРТ СЕРВЕР разные языки КЛИЕНТ JavaScript
Интерактивность: Минимальная латентность Асинхронность
Ограничения НТТР при интерактивной работе: Синхронность Жесткое распределение «клиент»-ведущий и «сервер»-ведомый Низкая эффективность при передаче большого количества маленьких по объему данных
Диаграмма работы НТТР КЛИЕНТ СЕРВЕР ВРЕМЯ ведущий ведомый
КПД  НТТР КПД НТТР  Comet ~  0,5… 10  % кпд паровоза= 7%
Преимущества  WebSockets Входит в HTML5, будет стандартом W3C Двунаправленная передача данных (full-duplex) Асинхронность
Передача данных: АСИНХРОННОСТЬ FULL - DUPLEX
Преимущества  WebSockets 4. Низкие требования к сетевым  ресурсам, максимальный КПД передачи данных, минимум «накладных расходов» 5. Время жизни канала в неактивном состоянии; 6. Возможность работы с разными доменами; 7. Неограниченное количество подключений к одному домену. 8. Очень простое API (интерфейс)
J ava S cript-объект: ws =  new  WebSocket( "ws://site.com/demo" ); ws.onopen =  function () { alert( "Connection opened..." )  };   ws.onclose =  function () { alert( "Connection closed..." )  };   ws.onmessage =  function (evt) { alert(evt.data) }; ws.send(“Text…”);
GET-запрос  GET /demo HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: site.com Origin: http://site.com
Ответ сервера HTTP/1.1 101 Web Socket Protocol Handshake Upgrade: WebSocket Connection: Upgrade WebSocket-Origin: http://site.com WebSocket-Location: ws://site.com/demo
Text Data Frame 0x00, <строка в кодировке UTF-8>, 0xFF
Binary Data Frame 0x80, <длина - 1 или несколько байт>, < data > GIF 1px,  43 байта :  0x80, 0x2B, < data > 160  байт:  0x80, 0x81, 0x20, < data >
Кодирование длины двоичных данных   0х81    0х20 0 + 128 + 32 = 160 1  0 0 0 0 0 0 1 0  0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0
Пример: http://chat.websockets.ru или http :// sn.im / ws-chat
 
Joe Armstrong: « Comet is dead long live websockets »
Евгений Лисицкий www.websockets.ru [email_address] twitter.com/lisitsky

More Related Content

Eugene Lisitsky Web Sockets