io.sockets.clients() 给出错误"Converting circular structure to JSON"



我正试图用以下代码将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当然包含循环引用,因为它包含引用自己的其他客户端的套接字客户端。。。


抱歉我英语不好。

相关内容

最新更新