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 相关文章推荐
推荐一些非常不错的javascript学习资源站点
Aug 29 Javascript
jQuery实现form表单reset按钮重置清空表单功能
Dec 18 Javascript
一个简单的Node.js异步操作管理器分享
Apr 29 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
Sep 06 Javascript
jquery+php实现滚动的数字特效
Nov 29 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
Jun 01 Javascript
微信小程序 购物车简单实例
Oct 24 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
three.js 入门案例详解
Jan 23 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
Sep 01 Javascript
vue中动态添加class类名的方法
Sep 05 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
Apr 26 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
从手册去理解分析PHP session机制
2011/07/17 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
javascript Prototype 对象扩展
2009/05/15 Javascript
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
推荐11款jQuery开发的复选框和单选框美化插件
2011/08/02 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
Python Celery多队列配置代码实例
2019/11/22 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
python解释器安装教程的方法步骤
2020/07/02 Python
python如何进入交互模式
2020/07/06 Python
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
化学教师自荐信范文
2013/12/28 职场文书
团委竞选演讲稿
2014/04/24 职场文书
新兵入伍决心书
2015/09/22 职场文书
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
MySQL 5.7常见数据类型
2021/07/15 MySQL
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
2021/12/06 MySQL
MySQL 开窗函数
2022/02/15 MySQL