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 动态添加事件代码
Nov 30 Javascript
JQuery的ajax基础上的超强GridView展示
Sep 18 Javascript
jQuery函数的等价原生函数代码示例
May 27 Javascript
使用jquery清空、复位整个输入域
Apr 02 Javascript
jquery实现图片上传之前预览的方法
Jul 11 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
Aug 01 Javascript
EditPlus 正则表达式 实战(3)
Dec 15 Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
Jul 16 Javascript
vue实现计步器功能
Nov 01 Javascript
解决新建一个vue项目过程中遇到的问题
Oct 22 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下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
Vue项目安装插件并保存
2019/01/28 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python读取实时数据流示例
2019/12/02 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
python图片合成的示例
2020/11/09 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
销售员求职个人的自我评价
2014/02/19 职场文书
三方合作协议书范本
2014/04/18 职场文书
旅游安全协议书
2014/04/21 职场文书
总经理岗位职责说明书
2014/07/30 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
Nginx反向代理、重定向
2022/04/13 Servers
Golang 实现WebSockets
2022/04/24 Golang