在Cloud9上发生错误“发送后无法设置标题”
在Cloud9 IDE上同时使用Express和socket.io时出现以下错误:
http.js:707 抛出新的错误('发送后不能设置标题')。 ^错误:发送后无法设置标题。 在ServerResponse.OutgoingMessage.setHeader(http.js:707:11) 在ServerResponse.res.setHeader(/var/lib/stickshift/523075494382ec51c3000001/app-root/data/610464/node_modules/express/node_modules/connect/lib/patch.js:59:22) (/var/lib/stickshift/523075494382ec51c3000001/app-root/data/610464/node_modules/express/node_modules/connect/lib/proto.js:153:13) 在Function.app.handle(/var/lib/stickshift/523075494382ec51c3000001/app-root/data/610464/node_modules/express/node_modules/connect/lib/proto.js:198:3) 在Server.app(/var/lib/stickshift/523075494382ec51c3000001/app-root/data/610464/node_modules/express/node_modules/connect/lib/connect.js:65:37) 在Manager.handleRequest(/var/lib/stickshift/523075494382ec51c3000001/app-root/data/610464/node_modules/socket.io/lib/manager.js:564:28) 在服务器。 (/var/lib/stickshift/523075494382ec51c3000001/app-root/data/610464/node_modules/socket.io/lib/manager.js:118:10) 在Server.EventEmitter.emit(events.js:117:20) 在HTTPParser.parser.onIncoming(http.js:2056:12) 在HTTPParser.parserOnHeadersComplete [onHeadersComplete](http.js:120:23)
以下是我的server.js代码:
var express = require('express'); var app = express() , http = require('http') , server = http.createServer(app) , io = require('socket.io').listen(server); server.listen(process.env.PORT, process.env.IP); app.get('/', function(req,res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello World\n'); })
我正在使用节点:“0.10.x”,socket.io:“0.9.14”,并表示:“3.x”。 这个错误只会在Cloud9 IDE上出现。 在本地主机上运行良好。 请帮忙。
我遇到了同样的问题。 虽然这不是一个好的解决scheme,但将Express还原到版本3.1.0为我解决了这个问题。 从最高层看,Express和Socket.io的最新版本并不能很好地结合在一起。
恢复后使用的版本是:
节点: 0.10.x ,
Socket.io:0.9.16 ,
Express: 3.1.0
- EADDRINUSE与node-webkit一起使用expressjs时
- Express中的模块化路由
- (node:5132)DeprecationWarning:`DEBUG_FD`已弃用。 与bodyParser
- 了解Mongoose子文档
- 我需要创buildurl来获取哪个接受数组,如何在node.js /从请求中提取数组?
- 如何dynamic插入标签在使用JavaScript的玉文件输出?
- Stormpath Express Passport保存customData或甚至默认数据
- 用passport.js进行简单的authentication变成无限循环
- 将Blur-Admin模板集成到Nodejs Express项目中