如何在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 相关文章推荐
农历与西历对照
Sep 06 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
javascript对数组的常用操作代码 数组方法总汇
Jan 27 Javascript
按钮接受回车事件的三种实现方法
Jun 06 Javascript
node.js实现BigPipe详解
Dec 05 Javascript
JavaScript实现函数返回多个值的方法
Jun 09 Javascript
简单模拟node.js中require的加载机制
Oct 27 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
Mar 03 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 Javascript
浅谈微信页面入口文件被缓存解决方案
Sep 29 Javascript
vue cli4下环境变量和模式示例详解
Apr 09 Javascript
如何在 Vue 表单中处理图片
Jan 26 Vue.js
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实现链结人气统计
2006/10/09 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
JavaScript创建命名空间(namespace)的最简实现
2007/12/11 Javascript
JS 表单验证大全
2011/11/23 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
一个JavaScript获取元素当前高度的实例
2014/10/29 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
python中的json总结
2018/10/11 Python
用Django写天气预报查询网站
2018/10/21 Python
python2.7实现邮件发送功能
2018/12/12 Python
Python Pillow Image Invert
2019/01/22 Python
python高级特性简介
2020/08/13 Python
python如何将图片转换素描画
2020/09/08 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
优秀员工推荐材料
2014/12/20 职场文书