WebSocket Server Implementation Chao-Wei Peng HTTP Request Model - - PowerPoint PPT Presentation

websocket server implementation
SMART_READER_LITE
LIVE PREVIEW

WebSocket Server Implementation Chao-Wei Peng HTTP Request Model - - PowerPoint PPT Presentation

WebSocket Server Implementation Chao-Wei Peng HTTP Request Model Service Http Client Http Server Thread Waiting Http Request Run Service Http Response HTTP Weakness Server sends response only if someone requests it. WebSocket Protocol


slide-1
SLIDE 1

WebSocket Server Implementation

Chao-Wei Peng

slide-2
SLIDE 2

HTTP Request Model

Http Server Http Client

Waiting

Http Request Service Thread Run Service Http Response

slide-3
SLIDE 3

HTTP Weakness

Server sends response only if someone requests it.

slide-4
SLIDE 4

WebSocket Protocol

  • New protocol

in Application layer.

  • Enable web pages to

build two-way channel with a remote host.

Refer to: http://www.mironov.com/articles/osi_layers/

slide-5
SLIDE 5

WebSocket Client Supporting

slide-6
SLIDE 6

WebSocket Client API

  • WebSocket

– Constructor(uri); – Attributes

  • readyState

– Methods

  • send(message);
  • close();

– Events

  • onstart
  • onmessage
  • onclose
  • onerror
slide-7
SLIDE 7

WebSocket Server Implementation

  • 1. Handshake and Build Channel with Client
  • 2. Send & Receive Data
  • 3. Close Channel

Refer to: http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-75

slide-8
SLIDE 8

Handshake

GET /demo HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Origin: http://example.com Host: example.com HTTP/1.1 101 WebSocket Protocol Handshake Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Origin: http://example.com Sec-WebSocket-Location: ws://example.com/demo

Client Server

slide-9
SLIDE 9

Data Framing

0xFF 0x00 0xFF 0x00 Data bytes Data bytes

Data bytes should be encoded/decoded by UTF-8

slide-10
SLIDE 10

Close Channel

Simply close the WebSocket connection.

slide-11
SLIDE 11

Demo Time