实时聊天室之下篇
我們就寫個 app 簡單的寫信息推送到所有用戶(包括自己也看到)
Project 架构#
.
├── app.js
├── node_modules
├── package.json
└── index.html
这个 Project 的文件在 Gist:https://gist.github.com/stretchgz/26274e15499077bbce90
单独客户端 -> 服务器 -> 所有的客户端
游览器的 form 发信息,通过 socket 传到服务器,服务器再广播到所有连接的客户端。
Server
├── A
├── B
├── C
└── D
當 A 説話時,服務器收到信息后複製這段信息推送到所有的用戶,上面的例子就是 A、B、C 還有 D。
廣播方式 Broadcast#
推送到所有人,自己除外
var io = require("socket.io").listen(80);
io.sockets.on("connection", function (socket) {
socket.broadcast.emit("user connected");
});
推送到所有人
var io = require("socket.io")();
io.sockets.emit("an event sent to all connected clients");