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 相关文章推荐
js本身的局限性 别让javascript做太多事
Mar 23 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
Sep 19 Javascript
jQuery弹出(alert)select选择的值
Apr 21 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
Feb 08 Javascript
js实现iframe跨页面调用函数的方法
Dec 13 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
May 19 Javascript
js数组方法reduce经典用法代码分享
Jan 07 Javascript
php中and 和 &&出坑指南
Jul 13 Javascript
详解用Webpack与Babel配置ES6开发环境
Mar 12 Javascript
vscode vue 文件模板的配置方法
Jul 23 Javascript
微信小程序实现选择地址省市区三级联动
Jun 21 Javascript
JavaScript中的Proxy对象
Nov 27 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
php.ini中文版
2006/10/09 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
js的OOP继承实现(必看篇)
2017/02/18 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
Vue实现菜单切换功能
2020/11/08 Javascript
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
Python中的列表生成式与生成器学习教程
2016/03/13 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
日本无添加化妆品:HABA
2016/08/18 全球购物
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
梅花魂教学反思
2014/04/25 职场文书
运动会方阵口号
2014/06/07 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
python在package下继续嵌套一个package
2022/04/14 Python
Python何绘制带有背景色块的折线图
2022/04/23 Python
JS实现简单的九宫格抽奖
2022/06/28 Javascript