با سلام به همه
یه جدول دارم توی mysql که هر ده دقیقه توسط کران جاب آپدیت میشه(فیلد استاتوس من میشه: 1 یا 2 یا 3)
من میخوام فیلد استاتوس رو توسط socket به محض تغییر بفهمم و واسه همه emit کنم
واقعا نمیدونم باید چیکار کنم
البته با تایمر فیلدها رو گرفتم و emit کردم هر یک ثانیه ، ولی احساس میکنم ، این موضوع بار زیادی روی سرور تحمیل میکنه
کد سمت سرور :
var mysql = require("mysql");
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendfile('index.html');
//res.sendfile('/login/');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "test"
});
io.on('connection', function (socket) {
console.log('a client connected');
setInterval(function(){
con.query('SELECT * FROM categories',function(err,rows){
if(err) throw err;
console.log('Data received from Db:\n');
console.log(rows);
socket.emit('showrows', rows);
});
}, 1000);
});
کد سمت کلاینت
<script>
var socket = io();
socket.on('connect', function () {
document.getElementById("socketio").innerHTML = "socket connected";
});
socket.on('showrows', function (rows) {
var html = '';
for (var i = 0; i < rows.length; i++) {
html += rows[i].id + ' ' + rows[i].category_name + '<br>';
}
document.getElementById("display").innerHTML = html;
console.log(rows);
});
</script>
دوستان بهترین راهکار چیه ؟
به jafar کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟