generated at
Socket.IO

気合でTCP Socketのような接続を作るEngine.IOの上に実装されたメッセージングライブラリ
WebSocketAjaxのうち接続できる物を適当に選ぶ

機能
WebSocketが通らなくても、とにかく何らかの接続を作ってくれる
面倒な処理を自動的にやってくれる
disconnect → reconnect
io.reconnection = false で無効にできる
heartbeat packetを送って接続が生きているか確認
送信データのシリアライズ・デシリアライズ
ある程度大きい時は gzip してくれる
接続しているclientの管理
リストをもってくれる
room機能
clientのグループを作れる
broadcast
全員に送信
1人を除いた他全員にbroadcast
on connectでcookieやURL paramsを読める
server (Expressなど) にpathを追加してくれる
/socket.io/socket.io.js clientjsライブラリ
/socket.io/ clientの接続先
eventemitter形式でのevent dispatch
通信ではなく、リモートのイベントを発火させるスタイル

こういうのを全部自分で実装すると大変面倒くさい shokai
Engine.IOを直接使ってchatを作ったらかなり大変だった