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 Jquery 遍历Json的实现代码
Mar 31 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
Feb 16 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
Dec 28 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
Sep 10 Javascript
JS实现两表格里数据来回转移的方法
May 28 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
Jun 29 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
Sep 23 Javascript
jQuery利用sort对DOM元素进行排序操作
Nov 07 Javascript
node基于puppeteer模拟登录抓取页面的实现
May 09 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
Jun 03 Javascript
vue在路由中验证token是否存在的简单实现
Nov 11 Javascript
如何利用js在两个html窗口间通信
Apr 27 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
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
php的dl函数用法实例
2014/11/06 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
php处理复杂xml数据示例
2016/07/11 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
微信小程序 页面跳转传值实现代码
2017/07/27 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
python optparse模块使用实例
2015/04/09 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
解决Pycharm界面的子窗口不见了的问题
2019/01/17 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
python面向对象之类属性和类方法案例分析
2019/12/30 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
链表面试题-一个链表的结点结构
2015/05/04 面试题
优秀部门获奖感言
2014/02/14 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
聚美优品励志广告词
2014/03/14 职场文书
全国文明单位申报材料
2014/05/31 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
酒店辞职书范文
2015/02/26 职场文书
新闻稿怎么写
2015/07/18 职场文书