ソケットが接続されたときにfavicon.icoフォームが 2 番目のリクエストを作成するのを防ごうとしています。
ここに私のサーバーがあります:
var io = require('socket.io'),
connect = require('connect');
var app = connect()
.use(connect.static('public'))
.use(function(req, res, next){
if (req.url === '/favicon.ico') {
res.writeHead(200, {'Content-Type': 'image/x-icon'} );
next();
}
})
.use(function(req, res){
res.end('stupid favicon...');
}).listen(3000);
var game = io.listen(app);
game.sockets.on('connection', function(socket){
socket.emit('entrance', {message: 'Welcome to the game!'});
socket.on('disconnect', function(){
game.sockets.emit('exit', {message: 'A player left the game...!'});
});
game.sockets.emit('entrance', {message: 'Another gamer is online!'});
});
これはうまくいかないようです。エラーは発生しませんが、1 つのソケットが接続すると、クライアント側から 2 つのイメージが読み込まれるため、まだ 2 つのリクエストが発生しているように見えます。
私のコードは完全に間違っていますか、それとも正しい軌道に乗っていますか? サーバーコードに何console.log()
があっても、コンソールには何も出力されないからです。
編集: クライアント側
var socket = io.connect('http://localhost:3000');
socket.on('entrance', function(data){
console.log(data.message);
var num = (count > 0) ? count : '';
console.log("hero" + num);
var hero = new Car("hero" + num);
hero.init();
count++;
});
count
グローバルです。私は(今のところ2つの画像)、1#hero
つと#hero1
. 1 人のプレイヤーが接続すると、両方の画像が読み込まれます。