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中的相等与不等运算
Apr 25 Javascript
js跨域问题之跨域iframe自适应大小实现代码
Jul 17 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
Dec 09 Javascript
移动端手指放大缩小插件与js源码
May 22 Javascript
JS实现简易换图时钟功能分析
Jan 04 Javascript
深入理解Vue Computed计算属性原理
May 29 Javascript
vue 中滚动条始终定位在底部的方法
Sep 03 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
May 14 Javascript
微信小程序开发技巧汇总
Jul 15 Javascript
详解解决小程序中webview页面多层history返回问题
Aug 20 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
Nov 25 Javascript
原生JS实现顶部导航栏显示按钮+搜索框功能
Dec 25 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
PHP中date()日期函数有关参数整理
2011/07/19 PHP
如何用php获取文件名后缀
2013/06/09 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
PHP钩子实现方法解析
2019/05/21 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
chrome原生方法之数组
2011/11/30 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
javascript数组详解
2014/10/22 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
input 禁止输入特殊字符的四种实现方式
2016/08/24 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
python 同时运行多个程序的实例
2019/01/07 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
Python pymsql模块的使用
2020/09/07 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
2021/01/28 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
人力资源管理专业应届生求职信
2013/09/28 职场文书
文明之星事迹材料
2014/05/09 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技