node.js: socket.io vs express.static
Eu tenho o seguinte server.js em execução:
<code>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'); }); }); </code>
Servidor express.static simples para arquivos em uma subpasta / pública, além de funcionalidade socket.io. Com essa configuração, qualquer solicitação para o arquivo 'socket.io.js' falha, por exemplo,
<code>http://localhost:58000/socket.io/socket.io.js </code>
retorna um erro 404 (arquivo não encontrado). Servidor de arquivos estáticos funciona corretamente. Se eu simplesmente usar o módulo 'http' em vez de 'express' (comentando as linhas express.static e express.logger) o socket.io.js é servido corretamente. Como posso combinar as duas funcionalidades?