-----------------------------client socket ----------------------
$(document).ready(function () {
var socket = io.connect('http://localhost:8282');
$('#stopbtn').click(function(){
socket.emit('RandomStatus',{message:'stop'});
})
$('#startbtn').click(function(){
socket.emit('RandomStatus',{message:'start'});
})
});
---------------------------------- Nodejs服务器----------- ---------
var io = require('socket.io').listen(app.listen(8282));
io.set('log level', 1);
var randomizerjson = require('./randomizerjson');
io.sockets.on('connection', function (socket) {
var intervalId;
socket.on('RandomStatus', function (data) {
var status = data.message;
if(status=='start'){
//random data after 700 milisecond and send
intervalId= setInterval(function () {
var randomData = randomizerjson.getRandomData1();
//send random data somewhere
io.sockets.emit('dataSet', randomData);
}, 700);
}
if(status=='stop'){
clearInterval(intervalId);
}
});
socket.on('disconnect', function () {
console.log('user disconnect');
});
});
当我点击开始按钮时,我可以发送随机数据。但是,当我单击停止按钮时,我无法clearInterval停止发送随机数据。 当我收到'停止'我想停止发送随机数据。信息。但那不起作用。任何人都可以帮助我并告诉我原因。 谢谢你提前。