Javascript 如何使用socket.io发送长复杂数组?

Javascript 如何使用socket.io发送长复杂数组?,javascript,node.js,arrays,socket.io,Javascript,Node.js,Arrays,Socket.io,我有一个包含大量base64数据的复杂数组。我用socket.io将这个数组发送到服务器。 如果我发送一个包含一个或两个base64数据的数组。该功能正在成功运行。但是如果我发送一个包含大量base64数据的数组。功能不起反应 我的目标 const MyArray = [ { div_id:div.id, div_innerhtml:div.innerHTML, //<img src=base64... div_backgroundimage : div.backgroundimage

我有一个包含大量base64数据的复杂数组。我用socket.io将这个数组发送到服务器。 如果我发送一个包含一个或两个base64数据的数组。该功能正在成功运行。但是如果我发送一个包含大量base64数据的数组。功能不起反应

我的目标

const MyArray = [
{
div_id:div.id,
div_innerhtml:div.innerHTML,  //<img src=base64...
div_backgroundimage : div.backgroundimage //base64... 
}
]
const MyArray=[],SaveBtn = document.queryselector("#save_div");
    
const SendArray = (ARRAY)=>{
    socket.emit("div_data",ARRAY);
}

SaveBtn.onclick = ()=>{
    SendArray(MyArray);
}
socket.on("div_data",(data)=>{
    console.log(data)   // function does not react.
    let JSON_DATA = JSON.stringify(data)
    console.log(JSON_DATA)   // function does not react.
});
  • 客户将准备模板
  • 当客户端单击“保存”按钮时,它会使用socket.io将此模板发送到服务器
  • 发送到服务器的模板将与NodeJ一起保存到硬盘
我的阵列模板

const MyArray = [
{
div_id:div.id,
div_innerhtml:div.innerHTML,  //<img src=base64...
div_backgroundimage : div.backgroundimage //base64... 
}
]
const MyArray=[],SaveBtn = document.queryselector("#save_div");
    
const SendArray = (ARRAY)=>{
    socket.emit("div_data",ARRAY);
}

SaveBtn.onclick = ()=>{
    SendArray(MyArray);
}
socket.on("div_data",(data)=>{
    console.log(data)   // function does not react.
    let JSON_DATA = JSON.stringify(data)
    console.log(JSON_DATA)   // function does not react.
});
服务器端代码

const MyArray = [
{
div_id:div.id,
div_innerhtml:div.innerHTML,  //<img src=base64...
div_backgroundimage : div.backgroundimage //base64... 
}
]
const MyArray=[],SaveBtn = document.queryselector("#save_div");
    
const SendArray = (ARRAY)=>{
    socket.emit("div_data",ARRAY);
}

SaveBtn.onclick = ()=>{
    SendArray(MyArray);
}
socket.on("div_data",(data)=>{
    console.log(data)   // function does not react.
    let JSON_DATA = JSON.stringify(data)
    console.log(JSON_DATA)   // function does not react.
});
这是socket.io错误吗? 我应该做什么或如何研究这个问题

更新

devtools中的网络选项卡

对于两个base64映像:(函数工作成功)

对于四个base64映像:(函数不响应)


devtools中的“网络”选项卡是怎么说的?我觉得这不是套接字的合适用例。为什么不是HTTP?这个数组有多长,有多复杂?Wiktor,我将devtools结果添加到了我的问题列表中,因为这个项目必须在浏览器和electron项目中工作。实际上,服务器和客户端将在同一台计算机上。我知道用javascript无法从浏览器保存文件。这就是我选择socket.io的原因。我不能用它。