2016-06-29 18 views
0

Skelett Mein Projekt ist der Express-Generator damit diese Abhilfe verwendet: hereSocket.io Client keine Nachricht Ereignis empfangen

SERVER:

io.on('connection', function(socket){ 
socket.on('message', function(msg){ 
    io.emit('message', msg); 
}); 
}); 

CLIENT: (src für Sockel enthalten)

var socket = io.connect('//localhost:5000'); 

function op(){ 
    socket.emit('message', $('input[name=yolo]:checked', '#myForm').val()); 
}; 

socket.on('message', function(msg){ 
    console.log("oo"); 
    $("input[value=msg]").attr('disabled',true); 
    alert($("input[value=msg]").val()); 
}); 

FORM

form(action='' id="myForm") 
///form inputs 
input(type="submit" value="book" onclick="op()") 
  1. Der Anschluss erfolgt auf beiden Seiten verifiziert.

  2. Nachricht wird vom Server empfangen, aber es wird Emittieren es nicht für die Client-Seite socket.on (‚message‘ ... triggern.

  3. jeden Schritt nur die letzten socket.on Getestete (‘ Meldung‘.. nicht ausgelöst wird.

Antwort

0

Das Problem wurde gefunden. Ich benutzte Firefox und es funktioniert einfach nicht mit Socket.io verschoben auf chrome und alles funktioniert gut.

+0

Firefox funktioniert jetzt mit Socket.io. –

0

ändern

io.on('connection', function(socket){ 
socket.on('message', function(msg){ 
    io.emit('message', msg); 
}); 
}); 

zu

io.on('connection', function(socket){ 
socket.on('message', function(msg){ 
    socket.emit('message', msg); 
}); 
}); 
+0

Es sollte nur "io" sein, versuchte Ihren Vorschlag nicht funktioniert. – Red

+0

Wenn Sie es an alle Clients ausgeben möchten, verwenden Sie: 'io.sockets.emit ('message', msg);' – Heartz

+0

Ja, was äquivalent zu 'io.emit' ist. – Red

Verwandte Themen