Javascript Can';t通过WebSocket发送Chrome中的长缓冲区

Javascript Can';t通过WebSocket发送Chrome中的长缓冲区,javascript,google-chrome,firefox,websocket,Javascript,Google Chrome,Firefox,Websocket,我正在尝试将640*480画布的内容发送到WebSocket服务器 Javascript相关部分如下所示: // Get the image data var imageData = tCtx.getImageData (0, 0, 640, 480); var buf = imageData.data; var limit = buf.byteLength / 4; var buffer = new Uint8ClampedArray(921600);

我正在尝试将640*480画布的内容发送到WebSocket服务器

Javascript相关部分如下所示:

    // Get the image data
    var imageData = tCtx.getImageData (0, 0, 640, 480);
    var buf = imageData.data;
    var limit = buf.byteLength / 4;
    var buffer = new Uint8ClampedArray(921600);

    for (var i = 0; i < limit; ++i) {
        var originOffset = 4 * i;
        var targetOffset = 3 * i;

        buffer[targetOffset] = buf[originOffset + 2];
        buffer[targetOffset + 1] = buf[originOffset + 1];
        buffer[targetOffset + 2] = buf[originOffset];
    }

    // Send the data
    ws.send (buffer);
//获取图像数据
var imageData=tCtx.getImageData(0,0,640,480);
var buf=imageData.data;
var限制=buf.byteLength/4;
var缓冲器=新的Uint8ClampedArray(921600);
对于(变量i=0;i
for循环只是将画布上的RGBA格式转换为BGR格式,以便使用OpenCV显示图片

在Firefox上它可以工作,在我的服务器上我收到了921600字节(我使用的是libwebsockets),我甚至可以用OpenCV显示图片。 但是在Chrome上,当我尝试发送这些数据时,服务器不接收字节,WebSocket连接关闭

我尝试在发送缓冲区之前对其进行切片,发现Chrome最多可以发送65000个字节:也就是说,当我尝试70000个字节时,它不起作用

知道为什么吗?我能做点什么吗?我需要手动分割缓冲区并单独发送部分吗?我以为WebSockets应该负责这个? 提前感谢:-)