node.js响应两次

我在Debian机器上安装了一个新的节点(从git)出现了一个奇怪的现象。 这似乎是问题不在我的代码,导致一切都在Windows上工作良好。 我已经知道这不是一个图标问题。

这是我写的:

var app = require('express')() , server = require('http').createServer(app) , io = require('socket.io').listen(server) , url = require('url') , qs = require('querystring') , request = require('request') , fs = require('fs') 

其次是

 server.listen(3000); app.post('/postReload', function (req, res) { var fullBody = ''; req.on('data', function(chunk) { fullBody += chunk.toString(); if (fullBody.length > 1e6) { req.connection.destroy(); } }); req.on('end', function() { out = qs.parse(fullBody); vars = out.vars || ''; if(out.module && out.value){ // do the job // console.log here is done twice ! } res.writeHead(200, {'Content-Type': 'text/html'}) res.end(); }); }); 

当写另一种方式:

 app.post('/postReload', function (req, res) { // console.log here is done twice ! } 

这个问题影响到每个浏览器,一个星期的testing并没有解决任何问题。

有人在这里得到一个想法?

双重行为发生在curl上,或者被浏览器访问。

Merci Hector Correa。

这是我声明socket.io的方式…我的新的和简单的代码是:

 var express = require('express') var app = express(); var server = http.createServer(app); var io = require('socket.io').listen(server); app.get('/', function (req, res) { console.log('Only one time !!!') res.end(); }) 

我现在继续下去。