Javascript/nodejs/socket.io/実用サンプル
提供: 初心者エンジニアの簡易メモ
サーバ側
- app.js
var port = 8001; var socketio = require('socket.io').listen(port); // 接続受信 socketio.on('connection', function (client) { console.log("self.sid=" + client.id); // 全ユーザーに接続情報送信 client.broadcast.emit("connection_other", {sid: client.id}); // 切断時 client.on('disconnect', function() { // 全ユーザーに切断情報送信 client.broadcast.emit("disconnect_other", {sid: client.id}); }); // message受信 client.on('message', function(data) { console.log(data); // 全ユーザに送信 client.broadcast.emit('message', data); }); }); console.log("port:" + port);
require.jsを使ったクライアントサンプル
- main.js
require(['https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js', 'socket.io'], function() { var socketio = io.connect('http://localhost:8001'); // 自分接続受信 socketio.on('connect', function() { console.log("sid:" + socketio.socket.sessionid); // 入室メッセージ送信 socketio.emit('message', socketio.socket.sessionid + ' join'); }); // 別ユーザの接続情報受信 socketio.on('connection_other', function(user) { console.log('connection_other:user.sid=' + user.sid); }); // 別ユーザの切断情報受信 socketio.on('disconnect_other', function(user) { console.log('disconnect_other:user.sid=' + user.sid); }); // メッセージ受信 socketio.on('message', function(str) { console.log(str); }); });