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 相关文章推荐
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
May 25 Javascript
javascript学习基础笔记之DOM对象操作
Nov 03 Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
jQuery 计算iframe 窗口大小的方法
May 13 Javascript
JavaScript高级教程5.6之基本包装类型(详细)
Nov 23 Javascript
相册展示PhotoSwipe.js插件实现
Aug 25 Javascript
bootstrap模态框消失问题的解决方法
Dec 02 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Dec 14 Javascript
详解vuejs几种不同组件(页面)间传值的方式
Jun 01 Javascript
Vue框架中正确引入JS库的方法介绍
Jul 30 Javascript
微信小程序 循环及嵌套循环的使用总结
Sep 26 Javascript
vue强制刷新组件的方法示例
Feb 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
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
JavaScript函数节流和函数防抖之间的区别
2017/02/15 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
python实现文件分组复制到不同目录的例子
2014/06/04 Python
python中对list去重的多种方法
2014/09/18 Python
Python中的类与对象之描述符详解
2015/03/27 Python
解决Python传递中文参数的问题
2015/08/04 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
Python实现基于POS算法的区块链
2018/08/07 Python
python aiohttp的使用详解
2019/06/20 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
Python 中如何写注释
2020/08/28 Python
Ajax主要包含了哪些技术
2014/06/12 面试题
物流管理专业职业生涯规划书
2014/01/06 职场文书
自我鉴定注意事项
2014/01/19 职场文书
出纳员岗位职责
2014/03/13 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
元旦联欢会主持词
2014/03/26 职场文书
六一节目主持词
2014/04/01 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
幼儿园六一主持词
2015/06/30 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python