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的递归之递归与循环示例介绍
Aug 05 Javascript
js动态添加删除,后台取数据(示例代码)
Nov 25 Javascript
js中typeof的用法汇总
Dec 12 Javascript
利用js制作html table分页示例(js实现分页)
Apr 25 Javascript
jQuery添加和删除输入文本框标签代码
May 20 Javascript
domReady的实现案例
Nov 23 Javascript
js实现弹窗暗层效果
Jan 16 Javascript
express框架实现基于Websocket建立的简易聊天室
Aug 10 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
May 11 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
vue-cli配置flexible过程详解
Jul 04 Javascript
Vue退出登录时清空缓存的实现
Nov 12 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php 字符串函数收集
2010/03/29 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
PHP asXML()函数讲解
2019/02/03 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
从0搭建vue-cli4脚手架
2020/06/17 Javascript
js实现列表按字母排序
2020/08/11 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
python在命令行下使用google翻译(带语音)
2014/01/16 Python
Python编程之多态用法实例详解
2015/05/19 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
Python检测生僻字的实现方法
2016/10/23 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
Python pytesseract验证码识别库用法解析
2020/06/29 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
会计毕业生自我鉴定
2013/11/04 职场文书
营业员演讲稿
2013/12/30 职场文书
感恩母亲节活动方案
2014/03/04 职场文书
团队经理竞聘书
2014/03/31 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
财务审计整改报告
2014/11/06 职场文书
MySQL索引失效的典型案例
2021/06/05 MySQL
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL