node.js: socket.io vs express.static
Mam uruchomiony następujący server.js:
<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>
Prosty serwer express.static dla plików w podfolderze / public plus funkcjonalność socket.io. W tej konfiguracji każde żądanie pliku „socket.io.js” nie powiedzie się, tj.
<code>http://localhost:58000/socket.io/socket.io.js </code>
zwraca błąd 404 (nie znaleziono pliku). Statyczny serwer plików działa poprawnie. Jeśli po prostu użyję modułu „http” zamiast „express” (komentowanie linii express.static i express.logger), socket.io.js jest wyświetlany poprawnie. Jak mogę połączyć obie funkcje?