socket.io POST 发送消息太快时出现错误和 CORS 策略错误

socket.io POST error and CORS policy error when sending messages too fast

在我的前端应用程序中,我实现了将文件分成块然后将它们的部分发送到这样的 for 循环中的机制(chunks 是一个字符串数组 - 二进制形式的文件内容):

for (let i = 0; i < chunks.length; i++) {
  sendFile(chunks[i], name, extension, mimeType, chunks.length, i);
}

虽然没有用。我收到此错误:

所以我想 - 也许我会在每个块发出和 ye 之间添加一个延迟 - 它起作用了。如果服务器托管在本地主机上,20 毫秒的间隔就足够了:

for (let i = 0; i < chunks.length; i++) {
  sendFile(chunks[i], name, extension, mimeType, chunks.length, i);
  await sleep(20);
}

现在我将应用程序部署到我的 VPS 并且错误又回来了。我注意到我必须将睡眠持续时间增加到 100 毫秒才能正常工作。

是什么原因造成的以及如何解决这个问题?

似乎 long-polling 传输方法一般都很糟糕。始终致力于使用 websockets - 它解决了我的问题。