加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

node.js中的socket.io的广播消息

发布时间:2016-11-23 22:41:26 所属栏目:Linux 来源:站长网
导读:在多个客户端与服务器端建立连接后,socket.io()服务器具有一个sockets属性,属性值为所有与客户端建立连接的socket对象.可以利用该对象的send方法或emit方法向所有客户端广播消息. io.sockets.send("user commected); io.socket.emit("login",names); 案例

在多个客户端与服务器端建立连接后,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) {
nbsp;nbsp;nbsp; res.sendfile(__dirname+"/index.html");
});
server.listen(1337,"127.0.0.1", function () {
nbsp;nbsp;nbsp; console.log("开始监听1337");
});
var io=sio.listen(server);
nbsp;var names=[];
io.sockets.on("connection", function (socket) {
nbsp;nbsp;nbsp; socket.emit("login",names);
nbsp;nbsp;nbsp; socket.on("login", function (name) {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; names.push(name);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; io.sockets.emit("login",names);
nbsp;nbsp;nbsp; });
});

复制代码 代码如下:
lt;!DOCTYPE htmlgt;
lt;htmlgt;
lt;head lang="en"gt;
nbsp;nbsp;nbsp; lt;meta charset="UTF-8"gt;
nbsp;nbsp;nbsp; lt;titlegt;lt;/titlegt;
nbsp;nbsp;nbsp; lt;script src="/socket.io/socket.io.js"gt;lt;/scriptgt;
nbsp;nbsp;nbsp; lt;scriptgt;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; var socket=io.connect();
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; socket.on("login", function (names) {
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; var str="";
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; names.forEach(function(name){
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; str+="用户"+name+"已登录.lt;br/gt;";
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; });
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; document.getElementById("result").innerHTML=str;
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; });
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; function add(){
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; socket.emit("login",document.getElementById("nickname").value);
nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; }
nbsp;nbsp;nbsp; lt;/scriptgt;
lt;/headgt;
lt;bodygt;
昵称lt;input type="text" id="nickname" /gt;
lt;div id="result"gt;lt;/divgt;
lt;input type="button" onclick="add()" value="登录" /gt;
lt;/bodygt;
lt;/htmlgt;

运行结果:

node.js中的socket.io的广播消息

在谷歌浏览器里面的登录,可以在火狐中看到一模一样的结果.

这是一个美妙的现象,也是一个让我万分惊喜的效果.

如此美妙的node.

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读