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 相关文章推荐
ajax无刷新动态调用股票信息(改良版)
Nov 01 Javascript
javascript 页面划词搜索JS
Sep 28 Javascript
基于Jquery的文字自动截取(提供源代码)
Aug 09 Javascript
JQuery处理json与ajax返回JSON实例代码
Jan 03 Javascript
jquery中的$(document).ready()使用小结
Feb 14 Javascript
js实现无缝滚动特效
Dec 20 Javascript
特殊日期提示功能的实现方法
Jun 16 Javascript
javascript iframe跨域详解
Oct 26 Javascript
深入理解node.js之path模块
May 03 Javascript
对vue中methods互相调用的方法详解
Aug 30 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
Feb 03 Javascript
javascript使用正则表达式实现注册登入校验
Sep 23 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函数(ignore_user_abort)
2012/08/01 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
2015/12/22 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
基于javascript 闭包基础分享
2013/07/10 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
深入浅析vue组件间事件传递
2017/12/29 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python教程之全局变量用法
2016/06/27 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
python flask框架实现重定向功能示例
2019/07/02 Python
python实现最小二乘法线性拟合
2019/07/19 Python
Python实现微信好友的数据分析
2019/12/16 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
致全体运动员广播稿
2014/02/01 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
个人年终总结怎么写
2015/03/09 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python