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的实现原理的模拟代码 -2 数据部分
Aug 01 Javascript
Json字符串转换为JS对象的高效方法实例
May 01 Javascript
javascript跨域的4种方法和原理详解
Apr 08 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
Aug 01 Javascript
简单分析javascript中的函数
Sep 10 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Sep 29 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
Aug 26 jQuery
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
配置一个vue3.0项目的完整步骤
Apr 26 Javascript
深度了解vue.js中hooks的相关知识
Jun 14 Javascript
使用Vue实现调用接口加载页面初始数据
Oct 28 Javascript
给原生html中添加水印遮罩层的实现示例
Apr 02 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生成条形码大揭秘
2015/09/24 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
2014/09/26 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
javascript中undefined与null的区别
2015/08/16 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python备份Mysql脚本
2008/08/11 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
django如何自己创建一个中间件
2019/07/24 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
一款css实现的鼠标经过按钮的特效
2014/09/11 HTML / CSS
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
法雷奥SQA(electric)面试问题
2016/01/23 面试题
信用社实习人员自我鉴定
2013/09/20 职场文书
十佳大学生村官事迹
2014/01/09 职场文书
12岁生日演讲稿
2014/05/14 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
文明好少年事迹材料
2014/08/19 职场文书
django项目、vue项目部署云服务器的详细过程
2022/07/23 Servers