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 相关文章推荐
B/S模式项目中常用的javascript汇总
Dec 17 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
Sep 02 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
Aug 01 Javascript
JQuery控制DIV的选取实现方法
Sep 18 Javascript
原生JS实现图片轮播切换效果
Dec 15 Javascript
详解webpack2+React 实例demo
Sep 11 Javascript
IntersectionObserver实现图片懒加载的示例
Sep 29 Javascript
Vue cli+mui 区域滚动的实例代码
Jan 25 Javascript
详解 微信小程序开发框架(MINA)
May 17 Javascript
ES6 Symbol数据类型的应用实例分析
Jun 26 Javascript
基于Node的Axure文件在线预览的实现代码
Aug 28 Javascript
webpack3.0升级4.0的方法步骤
Apr 02 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和ACCESS写聊天室(九)
2006/10/09 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
thinkphp3.2点击刷新生成验证码
2016/02/16 PHP
php与c 实现按行读取文件实例代码
2017/01/03 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
js 小数取整的函数
2010/05/10 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
AngularJS实现星星等级评分功能
2016/09/24 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
python获得图片base64编码示例
2014/01/16 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
python字符串下标与切片及使用方法
2020/02/13 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
python反扒机制的5种解决方法
2021/02/06 Python
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
保护母亲河倡议书
2014/04/14 职场文书
南京青奥会口号
2014/06/12 职场文书
锦旗标语大全
2014/06/23 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle