在多個客戶端與伺服器端建立連線後,socket.io()伺服器具有一個sockets屬性,屬性值為所有與客戶端建立連線的socket物件.可以利用該物件的send方法或emit方法向所有客戶端廣播訊息.
io.sockets.send("user commected);
io.socket.emit("login",names);
案例
server.js程式碼:
var express=require("express");
var http=require("http");
var sio=require("socket.io");
var app=express();
var server=http.createServer(app);
app.get("/", function (req,res) {
res.sendfile(__dirname "/index.html");
});
server.listen(1337,"127.0.0.1", function () {
console.log("開始監聽1337");
});
var io=sio.listen(server);
var names=[];
io.sockets.on("connection", function (socket) {
socket.emit("login",names);
socket.on("login", function (name) {
names.push(name);
io.sockets.emit("login",names);
});
});
運行結果:
在Google瀏覽器裡面的登入,可以在火狐中看到一模一樣的結果.
這是一個美妙的現象,也是一個讓我萬分驚喜的效果.
如此美妙的node.