我正试图用以下代码将io.socket.clients()的内容传递给客户端:
var room_users = io.sockets.clients(newroom);
socket.emit('update_room_users', room_users);
(newroom是字符串变量)
但我得到了错误:
将循环结构转换为JSON
在控制台中。
我不知道为什么会发生这种情况,因为根据socket.io网站,这应该是正确的代码?
不能将包含循环引用的对象转换为JSON。循环引用是一个包含自身的对象。
循环参考示例:
var a = {};
var b = {a:a};
a.b = b;
room_users
当然包含循环引用,因为它包含引用自己的其他客户端的套接字客户端。。。
抱歉我英语不好。