如何在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 IE中的DOM ready应用技巧
Jul 23 Javascript
javascript 限制输入脚本大全
Nov 03 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
Jan 07 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
Mar 06 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
Feb 17 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
Nov 25 Javascript
js 输入框 正则表达式(菜鸟必看教程)
Feb 19 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 Javascript
Vue formData实现图片上传
Aug 20 Javascript
JavaScript命令模式原理与用法实例详解
Mar 10 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
discuz的php防止sql注入函数
2011/01/17 PHP
B/S开发中常用javaScript技术与代码
2007/03/09 Javascript
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
JQuery循环滚动图片代码
2011/12/08 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
python实现决策树ID3算法的示例代码
2018/05/30 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
Python3离线安装Requests模块问题
2019/10/13 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
远东集团网络工程师面试题
2014/10/20 面试题
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
上班离岗检讨书
2014/01/27 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
党员转正申请报告
2015/05/15 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
Python实现byte转integer
2021/06/03 Python
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python