socket.io 基礎

基本的なもののまとめ。

サーバー

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: "てすと"
});

for in文

連想配列にlengthが使えないので。

var table = { id : "hoge", text : "fuga" }

var = count; 
for(var i in table){
	count++; 
}