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 相关文章推荐
心扬JS分页函数代码
Sep 10 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
Oct 15 Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 Javascript
JQuery对ASP.NET MVC数据进行更新删除
Jul 13 Javascript
livereload工具实现前端可视化开发【推荐】
Dec 23 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
JS验证input输入框(字母,数字,符号,中文)
Mar 23 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
JavaScript中变量提升与函数提升经典实例分析
Jul 26 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
Apr 03 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
聊聊Vue 中 title 的动态修改问题
Jun 11 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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
PHP Redis扩展无法加载的问题解决方法
2019/08/22 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
Javascript倒计时代码
2010/08/12 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
Javascript实现获取窗口的大小和位置代码分享
2014/12/04 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
2018/09/10 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
python原始套接字编程示例分享
2014/02/21 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
python自动分箱,计算woe,iv的实例代码
2019/11/22 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
Python列表推导式实现代码实例
2020/09/09 Python
小学生新学期寄语
2014/01/19 职场文书
《动手做做看》教学反思
2014/04/09 职场文书
总经理致辞
2015/07/29 职场文书
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS
MySQL三种方式实现递归查询
2022/04/18 MySQL