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 相关文章推荐
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 Javascript
Javascript学习笔记5 类和对象
Jan 11 Javascript
JavaScript 构造函数 面相对象学习必备知识
Jun 09 Javascript
JavaScript获取table中某一列的值的方法
May 06 Javascript
js的toUpperCase方法用法实例
Jan 27 Javascript
JavaScript数组操作函数汇总
Aug 05 Javascript
AngularJS ng-style中使用filter
Sep 21 Javascript
javascript 单例模式详解及简单实例
Feb 14 Javascript
jQuery自定义元素右键点击事件(实现案例)
Apr 28 jQuery
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
Angular将填入表单的数据渲染到表格的方法
Sep 22 Javascript
vue 实现走马灯效果
Oct 28 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
基于数据库的在线人数,日访问量等统计
2006/10/09 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
PHP simplexml_load_string()函数实例讲解
2019/02/03 PHP
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
vue的for循环使用方法
2019/02/12 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
python中使用print输出中文的方法
2018/07/16 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
Python中的枚举类型示例介绍
2019/01/09 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
canvas如何实现多张图片编辑的图片编辑器
2020/03/10 HTML / CSS
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
护士自我评价
2014/02/01 职场文书
颁奖晚会主持词
2014/03/25 职场文书
建筑工程专业大学生求职信
2014/04/23 职场文书
2015年国培研修感言
2015/08/01 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript