使用 socket.io 中的对象
Working with objects in socket.io
这是我的 app.js
redis.on('message', function(channel, message) {
//console.log('Redis: Message on ' + channel + ' received!');
//
//message1 = JSON.parse(message).object;
//console.log(message1);
//console.log(message1.question_model_user_id);
message = JSON.parse(message);
io.emit('new', message);
});
console.log('user connected');
socket.on('disconnect', function(){
console.log('user disconnected');
});
现在是我的客户端脚本
var socket = io('http://localhost:3000');
socket.on('new',function(data){
$.each( data, function( key, value ) {
console.log(value);
//$.each( value, function( key, value1 ) {
// $.each( value1, function( key, value3 ) {
// console.log(key);
// });
//});
});
现在用户A有1个对象,用户B有0个对象。每当 A 刷新页面时,B 应该得到一个对象,但我得到了很多对象,因为如果用户 A 只刷新页面一次,相同的对象会像 +1 一样增加。
使用 io.socket 而不是 io.emit 发射对象一次
这是我的 app.js
redis.on('message', function(channel, message) {
//console.log('Redis: Message on ' + channel + ' received!');
//
//message1 = JSON.parse(message).object;
//console.log(message1);
//console.log(message1.question_model_user_id);
message = JSON.parse(message);
io.emit('new', message);
});
console.log('user connected');
socket.on('disconnect', function(){
console.log('user disconnected');
});
现在是我的客户端脚本
var socket = io('http://localhost:3000');
socket.on('new',function(data){
$.each( data, function( key, value ) {
console.log(value);
//$.each( value, function( key, value1 ) {
// $.each( value1, function( key, value3 ) {
// console.log(key);
// });
//});
});
现在用户A有1个对象,用户B有0个对象。每当 A 刷新页面时,B 应该得到一个对象,但我得到了很多对象,因为如果用户 A 只刷新页面一次,相同的对象会像 +1 一样增加。
使用 io.socket 而不是 io.emit 发射对象一次