我正在运行以下 server.js:
module.exports = server;
var express = require('express');
var fs = require('fs');
var server = express.createServer();
var port = 58000;
server.listen(port);
var io = require('socket.io').listen(server);
server.use(express.static('/', __dirname + '/../public'));
server.use(express.logger());
io.on('connection', function(client){
console.log('new client connected ' + client);
client.on('message', function(){
console.log('client wants something');
});
});
用于 /public 子文件夹中文件的简单 express.static 服务器,以及 socket.io 功能。使用此设置,对“socket.io.js”文件的任何请求都会失败,即
http://localhost:58000/socket.io/socket.io.js
返回 404 错误(未找到文件)。静态文件服务器正常工作。如果我只是使用“http”模块而不是“express”(注释掉 express.static 和 express.logger 行)socket.io.js 服务正确。如何结合这两种功能?