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 三种创建对象的方法
Oct 16 Javascript
js分解url参数(面向对象-极简主义法应用)
Aug 09 Javascript
js中的布尔运算符使用介绍
Nov 20 Javascript
js调试系列 断点与动态调试[基础篇]
Jun 18 Javascript
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
easyui tree带checkbox实现单选的简单实例
Nov 07 Javascript
Bootstrap表单简单实现代码
Mar 06 Javascript
Vue中引入样式文件的方法
Aug 18 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
Sep 21 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 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的优点与缺点
2013/04/11 PHP
Destoon模板制作简明教程
2014/06/20 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
javascript json2 使用方法
2010/03/16 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
面试常见的js算法题
2017/03/23 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
Python实现将文本生成二维码的方法示例
2017/07/18 Python
Django REST framework内置路由用法
2019/07/26 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
面向对象学习之pygame坦克大战
2019/09/11 Python
python烟花效果的代码实例
2020/02/25 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
Python计算信息熵实例
2020/06/18 Python
详解Python 循环嵌套
2020/07/09 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
自行车广告词大全
2014/03/21 职场文书
2015年端午节活动总结
2015/02/11 职场文书
教师节联欢会主持词
2015/07/04 职场文书
人民调解协议书
2016/03/21 职场文书
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫