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 相关文章推荐
一个判断email合法性的函数[非正则]
Dec 09 Javascript
基于jquery实现的自动补全功能
Mar 12 Javascript
js实现精确到秒的倒计时效果
May 29 Javascript
jquery获取form表单input元素值的简单实例
May 30 Javascript
Angular页面间切换及传值的4种方法
Nov 04 Javascript
JS 实现Base64编码与解码实例详解
Nov 07 Javascript
jQuery控制元素隐藏和显示
Mar 03 Javascript
node.JS md5加密中文与php结果不一致的解决方法
May 05 Javascript
Angular排序实例详解
Jun 28 Javascript
详解angularjs获取元素以及angular.element()用法
Jul 25 Javascript
Vue中使用sass实现换肤功能
Sep 07 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
Jul 29 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 array_flip() 删除数组重复元素
2009/01/14 PHP
PHP学习之整理字符串
2011/04/17 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
php之CodeIgniter学习笔记
2013/06/17 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
js实现敏感词过滤算法及实现逻辑
2018/07/24 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
python 正则表达式 概述及常用字符
2009/05/04 Python
python实现保存网页到本地示例
2014/03/16 Python
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python 列表理解及使用方法
2017/10/27 Python
python输出带颜色字体实例方法
2019/09/01 Python
HTML5 Canvas 破碎重组的视频特效的示例代码
2019/09/24 HTML / CSS
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
采购部岗位职责
2013/11/24 职场文书
高三英语教学反思
2014/01/13 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python