Restify中接入Socket.io报Error:Can’t set headers的错误解决


Posted in Javascript onMarch 28, 2017

发现问题

在restify的官方文档中,接入socket.io的代码是酱汁的: http://restify.com/#socketio

var server = restify.createServer();
var io = socketio.listen(server);

// ...

io.sockets.on('connection', function (socket) {
 socket.emit('news', { hello: 'world' });
 socket.on('my other event', function (data) {
   console.log(data);
 });
});

然而,当在本地跑上面这段代码的时候,却一直报错:

Error: Can't set headers after they are sent.

解决方法

可是我也没有在res.send方法之后set headers呀。百思不得其解,后来在issue中找到了解决方法:https://github.com/restify/node-restify/issues/717

var restify = require('restify');
var socketio = require('socket.io');

var server = restify.createServer();
var io = socketio.listen(server.server);

// ...

好的,问题就出在,socketio listen的不是 server对象,而是server.server对象。

var io = socketio.listen(server.server);

至此,问题解决了。看来,官方文档也是不能全信的。。。

总结

以上就是关于这个问题解决的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
top.location.href 没有权限 解决方法
Aug 05 Javascript
javascript操作cookie_获取与修改代码
May 21 Javascript
JS维吉尼亚密码算法实现代码
Nov 09 Javascript
js使用函数绑定技术改变事件处理程序的作用域
Dec 26 Javascript
jQuery实现简单的列表式导航菜单效果代码
Aug 31 Javascript
js制作可以延时消失的菜单
Jan 13 Javascript
Jquery-data的三种用法
Apr 18 jQuery
javascript  数组排序与对象排序的实例
Jul 17 Javascript
解决vue打包后刷新页面报错:Unexpected token
Aug 27 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
Apr 07 Javascript
js实现表格数据搜索
Aug 09 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
Sep 16 Javascript
Vue.js 60分钟快速入门教程
Mar 28 #Javascript
bootstrap table实现单击单元格可编辑功能
Mar 28 #Javascript
Web前端框架Angular4.0.0 正式版发布
Mar 28 #Javascript
JavaScript实现经纬度转换成地址功能
Mar 28 #Javascript
js实现多行文本框统计剩余字数功能
Mar 28 #Javascript
js实现下拉框效果(select)
Mar 28 #Javascript
vue2.0获取自定义属性的值
Mar 28 #Javascript
You might like
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
[转帖]PHP世纪万年历
2006/12/06 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
JavaScript Cookie显示用户上次访问的时间和次数
2009/12/08 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
2013/04/01 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
[02:03]DOTA2亚洲邀请赛 HGT战队出场宣传片
2015/02/07 DOTA
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
python访问系统环境变量的方法
2015/04/29 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
python字典操作实例详解
2017/11/16 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
解决pytorch DataLoader num_workers出现的问题
2020/01/14 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
售后服务科岗位职责范文
2013/11/13 职场文书
法律六进活动方案
2014/03/13 职场文书
档案工作个人总结
2015/03/03 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
React 高阶组件HOC用法归纳
2021/06/13 Javascript
nginx结合openssl实现https的方法
2021/07/25 Servers
Oracle 死锁的检测查询及处理
2021/09/25 Oracle
JavaScript实现队列结构过程
2021/12/06 Javascript