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


Posted in Javascript onDecember 15, 2014

在多个客户端与服务器端建立连接后,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);

    });

});
<!DOCTYPE html>

<html>

<head lang="en">

    <meta charset="UTF-8">

    <title></title>

    <script src="/socket.io/socket.io.js"></script>

    <script>

        var socket=io.connect();

        socket.on("login", function (names) {

            var str="";

            names.forEach(function(name){

                str+="用户"+name+"已登录.<br/>";

            });

            document.getElementById("result").innerHTML=str;

        });

        function add(){

            socket.emit("login",document.getElementById("nickname").value);

        }

    </script>

</head>

<body>

昵称<input type="text" id="nickname" />

<div id="result"></div>

<input type="button" onclick="add()" value="登录" />

</body>

</html>

运行结果:

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

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

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

如此美妙的node.

Javascript 相关文章推荐
Javascript 设计模式(二) 闭包
May 26 Javascript
浏览器解析js生成的html出现样式问题的解决方法
Apr 16 Javascript
javascript 兼容所有浏览器的DOM扩展功能
Aug 01 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
Mar 22 Javascript
基于JS实现的倒计时程序实例
Jul 24 Javascript
JS模拟的Map类实现方法
Jun 17 Javascript
微信小程序开发图片拖拽实例详解
May 05 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
Oct 09 Javascript
详解vue文件中使用echarts.js的两种方式
Oct 18 Javascript
在node中使用jwt签发与验证token的方法
Apr 03 Javascript
详解微信小程序之一键复制到剪切板
Apr 24 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 Javascript
超级简单的jquery操作表格方法
Dec 15 #Javascript
node.js中的fs.link方法使用说明
Dec 15 #Javascript
node.js中的fs.symlinkSync方法使用说明
Dec 15 #Javascript
jQuery中的编程范式详解
Dec 15 #Javascript
node.js中的fs.symlink方法使用说明
Dec 15 #Javascript
node.js中的fs.utimesSync方法使用说明
Dec 15 #Javascript
node.js中的fs.utimes方法使用说明
Dec 15 #Javascript
You might like
PHP中调用JAVA
2006/10/09 PHP
PHP 超链接 抓取实现代码
2009/06/29 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
JS Array对象入门分析
2008/10/30 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
python学习之matplotlib绘制散点图实例
2017/12/09 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
Python-opencv 双线性插值实例
2020/01/17 Python
Python 实现向word(docx)中输出
2020/02/13 Python
django项目中新增app的2种实现方法
2020/04/01 Python
英国领先的维生素和补充剂品牌:Higher Nature
2019/08/26 全球购物
儿科护士实习自我鉴定
2013/10/17 职场文书
国贸专业个人求职信分享
2013/12/04 职场文书
小学语文教学反思
2014/02/10 职场文书
售后服务承诺书
2014/03/26 职场文书
高中家长寄语
2014/04/02 职场文书
一年级小学生评语
2014/04/22 职场文书
2014年党支部承诺书
2014/05/30 职场文书
工会积极分子个人总结
2015/03/03 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
Vue和Flask通信的实现
2021/05/19 Vue.js
pandas求平均数和中位数的方法实例
2021/08/04 Python