如何在node的express中使用socket.io


Posted in Javascript onDecember 15, 2014

服务器端server.js代码

 var express=require("express");

 var http=require("http");

 var sio=require("socket.io");

 var app=express();

 var server=http.createServer(app);

 var fs=require("fs");

 app.get("/", function (req,res) {

    res.sendfile(__dirname+"/index.html");

 });

 server.listen(1337);

 var socket=sio.listen(server);

 socket.on("connection", function (socket) {

     socket.emit("news",{hello:"你好"});

     socket.on("otherEvent", function (data) {

         console.log("服务器端接受到数据:%j",data);

     })

 });

客户端index.html代码

 <!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("news", function (data) {

             console.log(data.hello);

             socket.emit("otherEvent",{my:"data"});

         });

     </script>

 </head>

 <body>

 </body>

 </html>

忽然想到一个问题.我可不可以把news的监听代码写到和emit的同一端.

这样:

 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 socket=sio.listen(server);

 socket.on("connection", function (socket) {

     socket.on("news", function (data) {

     console.log(data.hello);

     });

     socket.emit("news",{hello:"你好"});

 });

注意15~17行代码:是我们新添加的.

事实证明不可以,不会有任何的打印.但是也是不会报错的.

emit的执行,美其名曰:发送事件.如果有参数,美其名曰:携带参数.

后记:

在网上也找到不少关于Express框架中的session调用方法,可是发现真正能用的不是很多,本文是根据自己项目的制作过程,整理的Express和socket.IO中使用session的具体方法。

Javascript 相关文章推荐
javascript JSON操作入门实例
Apr 16 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
Apr 19 Javascript
怎么清空javascript数组
May 11 Javascript
js中reverse函数的用法详解
Dec 26 Javascript
javascript字母大小写转换的4个函数详解
May 09 Javascript
jQuery简单几行代码实现tab切换
Mar 10 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
Dec 25 Javascript
详解jQuery设置内容和属性
Apr 11 jQuery
小程序input数据双向绑定实现方法
Oct 17 Javascript
详解ES6数组方法find()、findIndex()的总结
May 12 Javascript
Swiper实现导航栏滚动效果
Oct 16 Javascript
JavaScript的function函数详细介绍
Nov 20 Javascript
node.js中使用socket.io制作命名空间
Dec 15 #Javascript
node.js中的fs.fstatSync方法使用说明
Dec 15 #Javascript
node.js中的fs.fstat方法使用说明
Dec 15 #Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 #Javascript
node.js中的fs.readFile方法使用说明
Dec 15 #Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 #Javascript
node.js中的socket.io的广播消息
Dec 15 #Javascript
You might like
PHP中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
基于PHP 面向对象之成员方法详解
2013/05/04 PHP
解析php中const与define的应用区别
2013/06/18 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
2019/04/09 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
nodejs读取图片返回给浏览器显示
2019/07/25 NodeJs
vuejs+element UI table表格中实现禁用部分复选框的方法
2019/09/20 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
对于Python中RawString的理解介绍
2016/07/07 Python
Python爬豆瓣电影实例
2018/02/23 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
python递归函数用法详解
2020/10/26 Python
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
实习自我鉴定
2013/12/15 职场文书
同学聚会主持词
2014/03/18 职场文书
借款协议书范本
2014/04/22 职场文书
教师节班会开场白
2015/06/01 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书