如何在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 相关文章推荐
asp批量修改记录的代码
Jun 25 Javascript
将函数的实际参数转换成数组的方法
Jan 25 Javascript
基于jquery的tab切换 js原理
Apr 01 Javascript
JavaScript Date对象 日期获取函数
Dec 19 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
Sep 19 Javascript
Javascript基础知识(三)BOM,DOM总结
Sep 29 Javascript
JavaScript中的small()方法使用详解
Jun 08 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
JavaScript递归操作实例浅析
Oct 31 Javascript
Ionic2开发环境搭建教程
Aug 20 Javascript
浅谈JS封闭函数、闭包、内置对象
Jul 18 Javascript
在vue项目中引入vue-beauty操作方法
Feb 11 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
javascript使用activex控件的代码
2011/01/27 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
简单实现js进度条加载效果
2020/03/25 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
2018/01/02 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
使用weixin-java-tools完成微信授权登录、微信支付的示例
2018/09/26 Javascript
Vue指令指令大全
2019/02/09 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
Python类属性与实例属性用法分析
2015/05/09 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
python从PDF中提取数据的示例
2020/10/30 Python
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
2017/07/11 HTML / CSS
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
大专学生推荐信范文
2013/11/19 职场文书
大学生活动策划方案
2014/02/10 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫