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 相关文章推荐
完美解决JS中汉字显示乱码问题(已解决)
Dec 27 Javascript
本地对象Array的原型扩展实现代码
Dec 04 Javascript
JS图片无缝滚动(简单利于使用)
Jun 17 Javascript
js加入收藏以及使用Jquery更改透明度
Jan 26 Javascript
详解Bootstrap的iCheck插件checkbox和radio
Aug 24 Javascript
bootstrap table配置参数例子
Jan 05 Javascript
jQuery内容筛选选择器实例代码
Feb 06 Javascript
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 jQuery
微信小程序实现多个按钮的颜色状态转换
Feb 15 Javascript
js比较两个单独的数组或对象是否相等的实例代码
Apr 28 Javascript
小程序自定义模板实现吸顶功能
Jan 08 Javascript
查找Vue中下标的操作(some和findindex)
Aug 12 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动态图像的创建
2006/10/09 PHP
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
php数据访问之增删改查操作
2016/05/09 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
模仿百度三维地图的js数据分享
2011/05/12 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
2019/08/16 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
python实现k-means聚类算法
2018/02/23 Python
Django中的CBV和FBV示例介绍
2018/02/25 Python
python K近邻算法的kd树实现
2018/09/06 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
汽车检测与维修专业求职信
2013/10/30 职场文书
函授教育个人学习的自我评价
2013/12/31 职场文书
怎么写好自荐书
2014/03/02 职场文书
电气工程自动化求职信
2014/03/14 职场文书
文明好少年事迹材料
2014/08/19 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
2015年教务工作总结
2015/05/23 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
Linux中如何安装并部署Redis
2022/04/18 Servers