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代码
Dec 26 Javascript
ExtJS 2.0 GridPanel基本表格简明教程
May 25 Javascript
jQueryUI的Dialog的简单封装
Jun 07 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
Aug 14 Javascript
简体中文转换繁体中文(实现代码)
Dec 25 Javascript
ExtJS4如何给同一个formpanel不同的url
May 02 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
Aug 26 Javascript
vue.js实现仿原生ios时间选择组件实例代码
Dec 21 Javascript
Vue.js双向绑定实现原理详解
Dec 22 Javascript
那些精彩的JavaScript代码片段
Jan 12 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
Aug 26 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
怎样辨别一杯好咖啡
2021/03/03 新手入门
提问的智慧(2)
2006/10/09 PHP
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
php目录管理函数小结
2008/09/10 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
详谈javascript异步编程
2016/02/21 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
在Python中操作字典之clear()方法的使用
2015/05/21 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
Python3计算三角形的面积代码
2017/12/18 Python
python版飞机大战代码分享
2018/11/20 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
python如何实现递归转非递归
2021/02/25 Python
Html5元素及基本语法详解
2016/08/02 HTML / CSS
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
2014村务公开实施方案
2014/02/25 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
Python time库的时间时钟处理
2021/05/02 Python
Python 全局空间和局部空间
2022/04/06 Python