Mein Client socket.on feuert nicht nach dem Aufruf des Servers (socket.emit ('callserver'). Allerdings, wenn ich die Seite aktualisieren, funktioniert es! Ich bin mir nicht sicher ich verstehe diese korrekt jede Idee, warum dies der Fall ist dank voraus für jede Eingabesocket.on Feuer nur nach dem Laden der Seite
Hier ist mein Code für die Kunden:.?!
socket.on('pauseTimeClock', function (data) {
stopWatchClock.setPausedTime(data.time);
$('.pauseTime').html(data.time.replace(/(\d)/g, '<span>$1</span>'))
console.log(stopWatchClock.pausedTime);
});
this.pause = function (stopwatch) {
this.stopwatch = stopwatch;
socket.emit('pauseTime');
this.stopwatch.changeState(this.stopwatch.getPauseState());
}
Auf dem Server:
socket.on('pauseTime', function() {
//stop broadcasting countDown time
clearInterval(timeinterval);
var pausedTime = moment();
function pauseTimeClock() {
var timeDiffHour = moment().hour() - pausedTime.hour();
var timeDiffMinute = moment().minute() - pausedTime.minute();
var timeDiffSec = moment().second();
var displayTime = timeDiffHour + ":" + timeDiffMinute + ":" + timeDiffSec;
socket.broadcast.emit("pauseTimeClock", { time: moment(displayTime, 'hhmm').format('HH:mm') });
}
setInterval(pauseTimeClock, 1000);
})
Nachdem ich herumgefuchtelt habe, habe ich festgestellt, dass socket.broadcast.emit an alle Clients sendet, mit Ausnahme der neu erstellten, während socket.emit an alle sendet. – user1964663