Skip to main content

Realtime Chat - Part II

Dev
Table of Contents
Realtime Chat - This article is part of a series.
Part 2: This Article

实时聊天室之下篇

我們就寫個 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");
Realtime Chat - This article is part of a series.
Part 2: This Article