Socket.ioの基本
初めに
socketは、一つのブラウザにログインした人(ブラウザ)を識別するもの
オブジェクト指向のインスタンスと思って良いと思う。
socketには、様々な便利なメソッドが入っていて
複数人同時の接続をsocketで一人ずつ確実に処理できる。
環境構築
まず作業ディレクトリを作る。
bash
$ mkdir node-test
$ cd node-test
Socket.ioの環境構築は、二つ方法がある。
1.インストールをその場でできるならする。
bash
$ npm install socket.io
2.package.jsを書いてインストール
{
"name": "node-test",
"version": "0.0.1",
"description": "chat server",
"dependencies": {
"socket.io": "~0.9.6"
}
}
bash
$ npm install
イベント処理の考え方
例えばブラウザからhtmlのinputでtextを送る時
「ブラウザ」→「サーバ」にデータが送られる。
イベント送信
「ブラウザ」は、イベントが起きた時にソケットにデータを付与して送信する
そのメソッドがemit()というもの
socket.io
socket.emit('イベント名', データ);
イベント名は、自分でつけていい。
データは、一つでもいいし、Json形式を使って複数のデータも渡せる。
イベント受信
「サーバ」は、指定のイベント名からデータが送られてくるのを待ち続ける。
データが送られてきた時に関数の引数としてデータを受信し、メソッドを動かす
socket.io
socket.on('イベント名', function(引数) {
});
イベントを管理する
socketは、初めからsocket.idというものが振られていて
それぞれのsocketのインスタンスを識別できる
これを利用してリストの識別をsocket.idで識別することで
単体の情報がしっかりと管理できる。