Bon je vais un peu plus détailler mon soucis.
Lorsque mon client se connecte au serveur, celui-ci le détecte (j'envoi un petit message pour checker).

Par contre , seul le premier socket.emit partira, les autres ne semblent pas etre reçus par le serveur.

Le coté serveur :

io.sockets.on('connection', function (socket) 
{
  socket.on('message', function (data) 
  {
    console.log("--- message reçu ---");
    console.log(data.message);
    // check du message
    // ...
    /// emission du message aux autres clients
    socket.broadcast.emit('message', {message:data.message});
  });
});

Et le client :

// premier envoie lorsque le client se co (pour tester)
socket.emit('chat', {message:"Je viens de rejoindre"});
socket.on('chat', function(data) 
{
    $("#chat #chat-body").append("<p>"+data.message+"</p>");
     console.log(data.message);
});

function sendMsg(msg)
{
  socket.emit('message', {message:"dddd"});
}

$(function()
{
  $("#message-input").keypress(function( e )
  {
    if ( e.which == 13 ) 
    {
        sendMsg($(this).val());
        $("#chat-body").append("<p><b>"+$(this).val()+"</b></p>")
        $(this).val('');
    }
  });
});

Avec un console.log j'ai testé et la fonction sendMsg est bien activée.

Quelqu'un pourrais m'éclairer ?
Merci d'avance.

3 réponses


Salut,

Peut tu posté, le debug de socket.io, pour l'activé dans le navigateur il faut créer une variable dans le localStorage.

Sur le serveur tu a juste à faire ceci quand tu lance ton script
Linux:
DEBUG= node tonscript.js
Windows:
set DEBUG=
& node tonscript.js

CYRIAQU3
Auteur

Salut, problème résolut, en fait je n'appelait tout simplement pas le script socket.io.js (je me suis emmellé les pinceaux tout simplement).

Oui c'est sur que ça doit marché beaucoup mieux maintenant