Professional Documents
Culture Documents
Marek Majkowski
marek@rabbitmq.com
Nogi
WebSockets
hixie-75 4 hixie-76 (disabled) hybi-07 hybi-10 6 7 14 10-dev 4 6 5.0.0 5.0.1 11 (disabled)
10
Proxies
GET /echo/070/lm6wwjpr/websocket HTTP/1.1 Host: sockjs1.popcnt.org User-Agent: [...] Gecko/20100101 Firefox/6.0.2 Accept: text/html,application/xhtml [...] Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Sec-WebSocket-Version: 7 Sec-WebSocket-Origin: http://sockjs.popcnt.org Sec-WebSocket-Key: bzG4fOYXabSiy42uFj6vjA== Pragma: no-cache Cache-Control: no-cache Upgrade: websocket Connection: Upgrade HTTP/1.0 400 Bad Request Server: squid/2.7.STABLE9 Date: Wed, 21 Sep 2011 06:16:10 GMT Content-Type: text/html Content-Length: 1943 X-Squid-Error: ERR_INVALID_REQ 0 X-Cache: MISS from mrstu X-Cache-Lookup: NONE from mrstu:3128 Via: 1.0 mrstu:3128 (squid/2.7.STABLE9) Connection: close CONNECT sockjs1.popcnt.org:80 HTTP/1.1 Host: sockjs1.popcnt.org Proxy-Connection: keep-alive GET /echo/855/duzzy2p1/websocket HTTP/1.1 Upgrade: WebSocket Connection: Upgrade Host: sockjs1.popcnt.org Origin: http://sockjs.popcnt.org Sec-WebSocket-Key1: 22p/ D"47900%n7 r90. Sec-WebSocket-Key2: m49" 5 f 24772 Ra
11
12
13
14
Node.js + Socket.io
15
Sync + Async
16
Sync + Service
17
18
19
Simplex
19
19
19
PubNub
20
PubNub
Duplex
20
PubNub
Duplex Broadcast
20
PubNub
Duplex Broadcast No access rights
20
PubNub
Duplex Broadcast No access rights No identity
20
Pusher
21
Pusher
Simplex
21
Pusher
Simplex Broadcast
21
Pusher
Simplex Broadcast Access rights *
21
Pusher
Simplex Broadcast Access rights * Identity *
21
Pusher
Simplex Broadcast Access rights * Identity * Presence *
21
We can do better
22
We can do better
Duplex
22
We can do better
Duplex Broadcast
22
We can do better
Duplex Broadcast Access rights
22
We can do better
Duplex Broadcast Access rights Identity
22
We can do better
Duplex Broadcast Access rights Identity Presence
22
23
Authorisation
23
Authorisation
Identity
23
Authorisation
Identity Permissions
23
Authorisation
Identity Permissions
23
Authorisation
Identity Permissions
23
Authorisation
Identity Permissions
23
Authorisation
Identity Permissions
Resource denitions + semantics Value + updates? Messages back to App (WebHooks) Presence
23
Authorisation
Identity Permissions
Resource denitions + semantics Value + updates? Messages back to App (WebHooks) Presence Good luck writing documentation!
23
Service?
24
Sync + Async
25
Fully async
26
SockJS
27
28
29
30
#sockjs github.com/sockjs
31
1. token
32
2. token
33
3. token
34
So?
35
36