所以我们有以下node.js代码 -
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World! \n");
response.end(");
}).listen(8125);
假设我想向所有连接的用户广播消息,
<{1}}函数中write
的{{1}}方法不会这样做。
那么如何向所有连接的用户/客户端广播消息?
使用纯Node.js有一种方法吗?因为我现在只是学习它,我现在更喜欢使用纯node.js ..
答案 0 :(得分:3)
这些是HTTP请求,因此无法实现。 HTTP请求在第一次连接时开始,在所有数据发送完毕后结束。
在您的情况下,数据是
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World! \n");
然后连接结束
response.end(");
如果您正在寻找与之保持联系的内容,请查看以下内容:
socket.io - 支持所有平台的实时传输库,适用于较旧的软件 WebSocket-Node - 客户端和服务器websocket实现 Faye - 使用Bayeux协议的发布 - 订阅消息传递系统。
我只使用了socket.io
,这就是广播的方式。
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.broadcast.emit('user connected');
});