Restify中接入Socket.io報Error:Can’t set headers的錯誤解決
發(fā)現(xiàn)問題
在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);
});
});
然而,當(dāng)在本地跑上面這段代碼的時候,卻一直報錯:
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);
至此,問題解決了??磥恚俜轿臋n也是不能全信的。。。
總結(jié)
以上就是關(guān)于這個問題解決的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
nodejs結(jié)合socket.io實現(xiàn)websocket通信功能的方法
這篇文章主要介紹了nodejs結(jié)合socket.io實現(xiàn)websocket通信功能的方法,結(jié)合實例形式分析了nodejs結(jié)合socket.io實現(xiàn)websocket通信的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
詳解Wondows下Node.js使用MongoDB的環(huán)境配置
這篇文章主要介紹了詳解Wondows下Node.js使用MongoDB的環(huán)境配置,這里使用到了Mongoose驅(qū)動來讓JavaScript操作MongoDB,需要的朋友可以參考下2016-03-03
在?node?中使用?koa-multer?庫上傳文件的方式詳解
本文主要介紹了上傳單個文件、多個文件,文件數(shù)量大小限制、限制文件上傳類型和對上傳的圖片進(jìn)行不同大小的裁剪,對node使用?koa-multer?庫上傳文件相關(guān)知識感興趣的朋友一起看看吧2024-01-01

