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.
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
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).