Salut,

J'ai une application qui permet d'envoyé une notification à chaque connexion d'un membre.

Voici mon code serveur app.js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var https = require('https');
var mysql = require('mysql');
var fs = require('fs');
var options = {key:fs.readFileSync('../../etc/apache2/ssl/key.key'),cert:fs.readFileSync('../../etc/apache2/ssl/cert.crt')};
var server = https.createServer(options,app);
var connect = mysql.createConnection({host:'****',user:'****',password:'****',database:'****'});
var io = require('socket.io')(server);
 
io.sockets.on('connection', function(socket){
    socket.on('loggued', function(){
        socket.emit('msg', 'Vous êtes connecté !');
    });
});
 
server.listen(1812);
Le problème c'est que mon serveur ne reçois pas l'appel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
socket.emit('loggued');
J'exécute ce code dans le script de connexion des membres en ajax :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$.ajax({
    url: 'functions/login.func.php',
    type: 'post',
    cache: 'false',
    dataType: 'json',
    data: {email:email, mdp:mdp},
    success: function(json){
        if(json.reponse === 'member'){ /* Si un membre se connecte */
            setTimeout(function(){ $(location).attr('href','../home'); },1800);
            socket.emit('loggued');
        } else if(json.reponse === 'admin'){ /* Si l'administrateur se connecte */
            setTimeout(function(){ $(location).attr('href','../admin'); },1800);
            socket.emit('loggued');
        } else { /* Erreur de connexion */
            $('#notif').hide().html('<div class="notif_error" id="notif_json">'+json.reponse+'</div>').fadeIn();
            $('button[name=login]').html('Connexion');
            $('button[name=login]').prop('disabled', false);
            $('#mdp').val('');
            $('.btn_success').removeClass('progress');
            $('#email').focus();
        }
    }
});
Mais je pense que le problème vient de la redirection faite par js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$(location).attr('href','../admin');
Avez-vous une idée pour résoudre ce problème ?
Merci