
Lesson 11 Web Sockets Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 1 Publs.: McGraw-Hill Education WebIDL and Instant Messaging • Web Interface Definition Language (Web IDL). (http://www.w3.org/TR/WebIDL/ ) • Instant messaging and many applications needs bi- direction data exchanges over same connection. • WebSocket enables bi-directional communication over a single TCP connection Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 2 Publs.: McGraw-Hill Education WebSocket Protocol • An independent TCP-based protocol • Intended to be compatible with HTTP-based server- side software and intermediaries, • Single port can be used by both HTTP clients talking to that server and WebSocket clients talking to that server. Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 3 Publs.: McGraw-Hill Education WebSocket Features and WSAPIs • Small header size (2 Byte) [Over 500 Byte for HTTP request and response headers] • WSAPIs facilitate live content and the creation of real-time games. • Therefore, much smaller latency in message interchanges Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 4 Publs.: McGraw-Hill Education WebSocket Features and WSAPIs • Small header size (2 Byte) [Over 500 Byte for HTTP request and response headers] • WSAPIs facilitate live content and the creation of real-time games. • Therefore, much smaller latency in message interchanges Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 5 Publs.: McGraw-Hill Education WebSocket: an IETF standard protocol • RFC 6455 specifications of the web protocol. (www:/tools.ietf.org/ html/rfc6455) [December 2011] • WebSocket API (WSAPI) W3C standard Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 6 Publs.: McGraw-Hill Education opcode and WebSocket API Web Objects using Web Sockets 7-bit length . 2 Byte Client Extended Events Application Length onopen, WSI 4/2/0 Byte onmessage API and onerror 2-6 Byte 2-6 Byte Mask Attributes (Typical) (Typical) (at Client) SASL/TLS url, protocol, 4 Byte readystate, TCP Data bufferdAmoun n Byte t and extensions Server Application 2-6 Byte (Typical) Functions WSI send and 2-6 Byte API 2-6 Byte WebSocket Frame close (Typical) (Typical) (a) (b) (c) Fig. 3.9 (a) Opcode and other fields at a WebSocket Frame (b) WebSocket API events, attributes and functions (c) data Bi-directional communication using webSocket between the web objects7 WebSocket Port • Default port 80 for regular WebSocket connections using ws:// and • port 443 when using wss:// for WebSocket connections tunneled over Transport Layer Security (TLS) • Only relationship to HTTP is that its handshake is interpreted by HTTP servers as an Upgrade request. Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 8 Publs.: McGraw-Hill Education WebSocket API events, attributes and functions • Event means that condition, occurrence of which is listened by an event listener function • As soon listener listens, an event handling function executes. • Event handling function is also callback or action Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 9 Publs.: McGraw-Hill Education Data bi-directional communication and Authentication • Using WebSocket APIs between the web objects • WebSocket APIs also at the browsers and servers • Authentication by TLS Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 10 Publs.: McGraw-Hill Education Events • Onopen ( ), • Onmessage ( ) and • onerror ( ) Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 11 Publs.: McGraw-Hill Education Attributes • url, • protocol, • readystate, • bufferdAmount and • extensions Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 12 Publs.: McGraw-Hill Education Functions • send ( ) and • close ( ) Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 13 Publs.: McGraw-Hill Education Six frame types in WebSocket • Six types are (i) textual data (UTF-8) and (ii) binary data (whose interpretation is left up to the application)Ten additional reserved for future use (version 13) • Clients and servers exchange the “messages” after success of handshake Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 14 Publs.: McGraw-Hill Education Associated Type Frame • Each frame belonging to the same message contains the same type of data.. Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 15 Publs.: McGraw-Hill Education Control frame • Frame not intended to carry data for the application • Used for protocol-level signaling, such as to signal that the connection should be closed • Supports HTML5 WebSocket when the client and server support HTML5, Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 16 Publs.: McGraw-Hill Education Client Library examples • Web-socket-js (in JavaScript), Arudino C++ WebSocket client; Ruby-web-socket, .NET WebSocket client (in .NET) and Silverlight WebSocket Client Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 17 Publs.: McGraw-Hill Education Server Library examples • Apache-websocket, • SuperWebSocket, • ActiveMQ, • PHD WebSocket and • Socket.io (node.js) Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 18 Publs.: McGraw-Hill Education Extensibility • Request-response (client-server) architecture extends to iq (Information through querying), • Chat and • Super chat Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 19 Publs.: McGraw-Hill Education Summary We learnt •WebSocket Protocol for bidirectional communication over TCP connection, •Tiny header size (2B), •Smaller messaging latency •For Real time Messaging, such as in gaming Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 20 Publs.: McGraw-Hill Education Summary We learnt • Use WebSocket APIs (WSAPIs) • Used in designing the codes for Instant Messaging and many applications Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 21 Publs.: McGraw-Hill Education End of Lesson 11 on WebSockets Chapter-3 L11: "Internet of Things " , Raj Kamal, 2017 22 Publs.: McGraw-Hill Education .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages22 Page
-
File Size-