求教大神一个express+cluster的问题
发布于 1年前 作者 pd0395 353 次浏览 来自 问答

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…

回到顶部