次の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 エラーを返します (ファイルが見つかりません)。静的ファイル サーバーは正常に動作します。「express」の代わりに「http」モジュールを使用するだけで (express.static と express.logger の行をコメントアウト)、socket.io.js は正しく提供されます。両方の機能を組み合わせるにはどうすればよいですか?