Web-socket 适用于约 8KB 的小文件。但是对于 ~50KB 文件,我的连接断开
Posted
技术标签:
【中文标题】Web-socket 适用于约 8KB 的小文件。但是对于 ~50KB 文件,我的连接断开【英文标题】:Web-socket worked for small files of ~8KB. But for ~50KB file, my connection disconnects 【发布时间】:2019-08-26 05:56:54 【问题描述】:我们在服务器端尝试以下代码。我在发送更多 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);
);
);
如何将一个客户端的大图发送给多个客户端?
【问题讨论】:
也许 ***.com/a/47808914/5053002 有帮助 - 配置maxReceivedFrameSize
和 maxReceivedMessageSize
似乎是您想要做的
【参考方案1】:
请试试这个。这对我有用。
//[MB KB 字节] 10 MB = 10 * 1024 * 1024
var wsServer = new webSocketServer(
httpServer: server,
maxReceivedFrameSize: 10 * 1024 * 1024,
maxReceivedMessageSize: 10 * 1024 * 1024,
autoAcceptConnections: false
);
【讨论】:
以上是关于Web-socket 适用于约 8KB 的小文件。但是对于 ~50KB 文件,我的连接断开的主要内容,如果未能解决你的问题,请参考以下文章
使用 react 和 express 建立 web-socket 通信(nginx、docker)