是否有可能从NodeJs中的一个脚本创build两个服务器?

是否有可能从一个nodejs脚本创build正常的网页服务器和websocket服务?

是的,实际上这几乎是几乎发生的事情。 一个TCP监听器同时处理HTTP请求以及web套接字请求,这些请求以HTTP请求开始,然后将协议更改为原始TCP Web套接字。 socket.io上的所有例子都说明了这一点。

var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') app.listen(80); function handler (req, res) { fs.readFile(__dirname + '/index.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } res.writeHead(200); res.end(data); }); } io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); });