求教大神一个express+cluster的问题
发布于 10 年前 作者 pd0395 3255 次浏览 最后一次编辑是 8 年前 来自 问答

master.js代码: QQ图片20141111154145.jpg http模块代码: QQ图片20141111154220.jpg Express代码: QQ图片20141111154241.jpg

如果用原生的http模块,每次请求进程分配处理正常 换express后只有一个进程会处理请求,不知道是什么原因???求指教

3 回复

我把Express的代码补充完整试了下,感觉没什么问题啊。

var express = require('express'),
	http = require('http');

var app = express();
app.get('/',function(req,res){
	console.log('request on ' + process.pid);
	res.send('Hello World');
})
var server = http.createServer(app);
console.log('webserver started on ' + process.pid);

process.on('message',function(msg,socket){
	process.nextTick(function(){
		if(msg == 'c' && socket) {
			socket.readable = socket.writable = true;
			socket.resume();
			server.connections++;
			socket.server = server;			
			server.emit('connection',socket);
			socket.emit('connect');
		}
	})
})

我用curl测了下,新的请求都是新的进程处理,没问题的。

我是win7…

@eeandrew 我是win7…

回到顶部