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 相关文章推荐
popdiv
Jul 14 Javascript
JavaScript面象对象设计
Apr 28 Javascript
Javascript实现重力弹跳拖拽运动效果示例
Jun 28 Javascript
简单实用的全选反选按钮例子
Oct 18 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
Node.js和PHP根据ip获取地理位置的方法
Mar 14 Javascript
ActiveX控件与Javascript之间的交互示例
Jun 04 Javascript
JavaScript获取DOM元素的11种方法总结
Apr 25 Javascript
javascript中innerText和innerHTML属性用法实例分析
May 13 Javascript
浅析Javascript ES6新增值比较函数Object.is
Aug 24 Javascript
js实现登录时记住密码的方法分析
Apr 05 Javascript
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
超级简单的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
ajax实现无刷新分页(php)
2010/07/18 PHP
理解php Hash函数,增强密码安全
2011/02/25 PHP
thinkphp备份数据库的方法分享
2015/01/04 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
php中数组最简单的使用方法
2020/12/27 PHP
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
js闭包实例汇总
2014/11/09 Javascript
使用console进行性能测试
2015/04/27 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
python学习 流程控制语句详解
2016/06/01 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
pytorch数据预处理错误的解决
2020/02/20 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
外贸业务员求职信范文
2013/12/12 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
《雨点》教学反思
2014/02/12 职场文书
学生请假条格式
2014/04/11 职场文书
法学自荐信
2014/06/20 职场文书
农民工讨薪标语
2014/06/26 职场文书
2014年保管员工作总结
2014/11/18 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
2019年教师入党申请书
2019/06/27 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server