我在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 !
}
问题影响到每个浏览器,一周的测试没有解决任何问题。
有人在这里有个主意吗?
双重动作发生在curl上,或者由浏览器访问。
答案 0 :(得分:1)
这是我宣布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();
})
我现在继续说道。