首页 > 解决方案 > Web-socket 适用于约 8KB 的小文件。但是对于 ~50KB 文件,我的连接断开

问题描述

我们在服务器端尝试以下代码。在发送更多 731276 字节但能够使用 WebSocket 上传 23969 字节的图像时,我遇到了一些问题。

// websocket and http servers
var webSocketServer = require('websocket').server;
var http = require('http');

// list of currently connected clients (users)
var clients = [];

function htmlEntities(str) {
    return str;
}

var server = http.createServer(function(request, response) {

});
server.listen(webSocketsServerPort, function() {});
var wsServer = new webSocketServer({
    httpServer: server
});

// tries to connect to the WebSocket server
wsServer.on('request', function(request) {

    var connection = request.accept(null, request.origin);

    console.log((new Date()) + ' Connection accepted.');

    // user sent some message
    connection.on('message', function(message) {

        if (message.type === 'binary') { // accept only binary

          // broadcast message to all connected clients

            for (var i = 0; i < clients.length; i++) {
                clients[i].send(message.binaryData);
                //clients[i].send(json);
            }
        }
    });
});

如何将一个客户端的大图像发送给多个客户端?

标签: javascriptnode.js

解决方案


请试试这个。这在我身边工作。

//[MB KB 字节] 10 MB = 10 * 1024 * 1024

var wsServer = new webSocketServer({
            httpServer: server,
            maxReceivedFrameSize: 10 * 1024 * 1024,
            maxReceivedMessageSize: 10 * 1024 * 1024,
            autoAcceptConnections: false
        });

推荐阅读