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 相关文章推荐
jQuery切换所有复选框选中状态的方法
Jul 02 Javascript
JavaScript性能优化之小知识总结
Nov 20 Javascript
ionic实现带字的toggle滑动组件
Aug 27 Javascript
基于Javascript实现文件实时加载进度的方法
Oct 12 Javascript
原生JS下拉加载插件分享
Dec 26 Javascript
详解JavaScript RegExp对象
Feb 04 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
JS验证码实现代码
Sep 14 Javascript
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
js 实现 list转换成tree的方法示例(数组到树)
Aug 18 Javascript
js面试题之异步问题的深入理解
Sep 20 Javascript
原生JavaScript实现贪吃蛇游戏
Nov 04 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
php 变量定义方法
2009/06/14 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
jquery 元素相对定位代码
2010/10/15 Javascript
Javascript 类、命名空间、代码组织代码
2011/07/31 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
全面解析Bootstrap排版使用方法(标题)
2015/11/30 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
javascript关于继承解析
2016/05/10 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
搭建简单的nodejs http服务器详解
2017/03/09 NodeJs
理解nodejs的stream和pipe机制的原理和实现
2017/08/12 NodeJs
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
React 实现车牌键盘的示例代码
2019/12/20 Javascript
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
在Django的模型中添加自定义方法的示例
2015/07/21 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
什么是Python中的匿名函数
2020/06/02 Python
经济管理专业毕业生推荐信
2013/11/11 职场文书
软件项目实施计划书
2014/05/02 职场文书
九九重阳节标语
2014/10/07 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
思想道德自我评价2015
2015/03/09 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python