#Socket.io
バージョン: 2.2.0
namespacesはデフォルト
##サーバ側
###送信
const io = require('socket.io')(http);
//全クライアントに送信
io.emit('event', param);
//'room'ルーム内のクライアントに送信
io.to('room').emit('event', param);
//特定クライアントに送信
io.to('socetID').emit('event', param);
//送信元以外の全クライアントに送信
io.broadcast.emit('event', param);
###受信
//イベントハンドラを登録
io.on('event', () => {
});
//イベントハンドラを登録 一度のみ
io.once('event', () => {
});
/*connection(webSocket確立時)イベント時
クライアントが接続するたびにイベントハンドラを登録*/
io.on('connection', socket => {
socket.on('event', () => {
});
});
//最初のクライアント接続時のみ
io.once('connection', socket => {
socket.on('event', () => {
});
});
###クライアント情報取得
io.of('/').in('room').clients( error,clients => {
//'room'ルームのクライアントのソケットIDリスト
console.log(clients);
//'room'ルームのクライアントの数
console.log(clients.length);
});
###ルーム
io.on('connection', socket => {
//'room'ルームに接続
socket.join('room');
//'room'ルームから切断
socket.leave('room');
});
});
##クライアント側
###送信
const io = io();
io.emit('event', param);
###受信
io.on('event', param => {
});
追記するかもしないかも