从websocket发送数组到客户端

Mic*_*ets 4 javascript websocket node.js

我在从后端js向客户端发送数组时遇到问题.

我在服务器端尝试了以下内容:

for (var i=0; i < clients.length; i++) {
    clients[i].send(clients);
}
Run Code Online (Sandbox Code Playgroud)
for (var i=0; i < clients.length; i++) {
    clients[i].send(JSON.stringify(clients));
}
Run Code Online (Sandbox Code Playgroud)
  • 在客户端也使用json.stringify

for (var i=0; i < clients.length; i++) {
    clients[i].send(clients.join('\n')));
}
Run Code Online (Sandbox Code Playgroud)
  • 我再次在客户端尝试过这种方法.

不幸的是,上述解决方案都没有工作,JSON.stringify方法显然不能在服务器端工作,因为JSON.stringify是一个浏览器方法,但其他方法返回[object Object]"[object Object]"

如何将数组发送clients到客户端,或者即使我可以将其编码为JSON,然后将其发送并在客户端解析它.

我真正需要的是将内容发送到客户端,但我不知道如何做到这一点哈哈

任何想法都赞赏:)

kan*_*aka 6

如果您使用的是Nodejs,则默认情况下JSON对象可用(它内置于V8中,因此Nodejs可以免费获取).

JSON.stringify()方法的反转是JSON.parse().

例如:

> s = JSON.stringify([1,2,3]);
'[1,2,3]'
> a = JSON.parse(s);
[ 1, 2, 3 ]
Run Code Online (Sandbox Code Playgroud)

如果服务器正在发送stringify的结果,则客户端必须运行解析以提取原始数据,反之亦然.