Socket.io

Preview:

DESCRIPTION

socket, socket.io, node.js, nodejs, js

Citation preview

@diego_pachecoSoftware Architect | Agile Coach

Lars BakHotSpot(20x faster)

Assembler

JIT

Threads

non-blocking i/o VS blocking i/o

Http,Tcp,File Bindings

Evented I/O

Good Speed(Performance)

Good for concurrency

Everything Asynchronous

JS Server Side

Runs on Google V8

Supports for Redis & MongoDB

Real time apps with WebSockets(html 5)

Ruby's Event Machine or Python's Twisted

Why Socket.io? Why Not WebSockets?

Transparent Transport API

Authorization

Timeouts

Heartbeats / Disconnection

Cross Browser + Mobile/Tablets

Reconnection + Buffering

Multiple Sockets with same connection

Modules (session, logger, node2node, mq)

Features

Multi-Transport Socket for

WebSocket

Adobe® Flash® Socket

AJAX long polling

AJAX multipart streaming

Forever Iframe

JSONP Polling

Select the best transport option:

[server.js]

[index.html]

$ node server.jsinfo - socket.io starteddebug - client authorizedinfo - handshake authorized 10976962382111866647debug - setting request GET /socket.io/1/websocket/10976962382111866647debug - set heartbeat interval for client 10976962382111866647debug - client authorized fordebug - websocket writing 1::debug - websocket writing 5:::{"name":"news","args":[{"hello":"world"}]}

{ my: 'data' }

[calc.html]

$ node calc.jsinfo - socket.io starteddebug - client authorizedinfo - handshake authorized 19733746072008321086debug - setting request GET /socket.io/1/websocket/19733746072008321086debug - set heartbeat interval for client 19733746072008321086debug - client authorized fordebug - websocket writing 1::

doop event received.{ va: '10', vb: '21', op: '+' }

debug - websocket writing 5:::{"name":"result","args":[{"result":31}]}

@diego_pachecoSoftware Architect | Agile Coach

Thank You!

Recommended