Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo

1

WebSockets Докладчик: Лисицкий Евгений «Спорт Сегодня»

2

Структура доклада: Работа интерактивного веба  Преимущества  WebSockets . Сравнение со стандартными технологиями. Техническая сторона вопроса Примеры реализации

3

Схема работы: ТРАНСПОРТ СЕРВЕР КЛИЕНТ

4

Популярные реализации: Erlang: MochWeb, Misultin  JavaScript: NodeJS Perl: AnyEvent, Coro, POE  Python :  Twisted, Tornado Ruby: EventMachine   и другие

5

Схема работы: HTTP ТРАНСПОРТ СЕРВЕР разные языки КЛИЕНТ JavaScript

6

Интерактивность: Минимальная латентность Асинхронность

7

Ограничения НТТР при интерактивной работе: Синхронность Жесткое распределение «клиент»-ведущий и «сервер»-ведомый Низкая эффективность при передаче большого количества маленьких по объему данных

8

Диаграмма работы НТТР КЛИЕНТ СЕРВЕР ВРЕМЯ ведущий ведомый

9

КПД  НТТР КПД НТТР  Comet ~  0,5… 10  % кпд паровоза= 7%

10

Преимущества  WebSockets Входит в HTML5, будет стандартом W3C Двунаправленная передача данных (full-duplex) Асинхронность

11

Передача данных: АСИНХРОННОСТЬ FULL - DUPLEX

12

Преимущества  WebSockets 4. Низкие требования к сетевым  ресурсам, максимальный КПД передачи данных, минимум «накладных расходов» 5. Время жизни канала в неактивном состоянии; 6. Возможность работы с разными доменами; 7. Неограниченное количество подключений к одному домену. 8. Очень простое API (интерфейс)

13

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…”);

14

GET-запрос  GET /demo HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: site.com Origin: http://site.com

15

Ответ сервера HTTP/1.1 101 Web Socket Protocol Handshake Upgrade: WebSocket Connection: Upgrade WebSocket-Origin: http://site.com WebSocket-Location: ws://site.com/demo

16

Text Data Frame 0x00, <строка в кодировке UTF-8>, 0xFF

17

Binary Data Frame 0x80, <длина - 1 или несколько байт>, < data > GIF 1px,  43 байта :  0x80, 0x2B, < data > 160  байт:  0x80, 0x81, 0x20, < data >

18

Кодирование длины двоичных данных   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

19

Пример: http://chat.websockets.ru или http :// sn.im / ws-chat

20

 

21

Joe Armstrong: « Comet is dead long live websockets »

22

Евгений Лисицкий www.websockets.ru [email_address] twitter.com/lisitsky

More Related Content

Web sockets