我試圖阻止favicon.ico表單在套接字連接時發出第二個請求。防止favicon.ico發出第二個請求 - Node.js
這裏是我的服務器:
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!'});
});
這似乎並沒有工作。我沒有得到任何錯誤,但是當一個套接字連接時,兩個圖像從客戶端加載,這看起來好像還有兩個請求發生。
那麼我的代碼是完全錯誤的,還是我在正確的軌道上?因爲不管我在我的服務器代碼中有什麼console.log()
,都沒有打印到控制檯。
編輯:Client端
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
是全球性的。我有(現在兩個圖像),一個#hero
和#hero1
。當一個玩家連接兩個圖像被加載。
你可以顯示你的客戶端代碼,哪個圖像在那裏加載兩次? – user568109
@ user568109完成 –