基本的なもののまとめ。
サーバー
var app = require("http").createServer(handler),
io = require("socket.io")(app),
fs = require("fs");
// port番号の設定(1337)
app.listen(1337);
function handler(req, res){
fs.readFile(__dirname + "/index.html",function(err, data){
if(err){
res.writeHead(500);
return res.end("Error loading index.html");
}
res.writeHead(200);
res.end(data);
});
}
io.on("connection", function(socket){
// ここに置くと、接続してきたクライアントのみに"hello"というテキストを"first"に送る。
socket.emit("first", "hello");
// broadcastを使用すると、"hi"というテキストを"second"に送る。
socket.broadcast.emit("second", "hi");
// 接続しているクライアント全てに"bye"を送る
io.sockets.emit("third", "bye");
// クライアントから"hoge"でデータが送られてきた際に実行される。
socket.on("from client".function(data){
// 送られてきたデータはdataに格納される。jsonも可
console.log(data.test); // てすと
});
});
クライアント
var socket = io("http://localhost");
socket.on("first", function(data){
console.log(data); // "hello"
});
socket.on("second", function(data){
console.log(data); // "hi"
});
socket.on("third", function(data){
console.log(data); // "bye"
});
socket.emit("from client", {
test: "てすと"
});