我们希望我们的服务器阻止任何包含大于 7 kb 数据的消息。
我们的服务器端代码:
socket.on('startdata', function (data) {
console.log(data.text);});
我们的客户端代码:
socket.emit('startdata', { text: 'testtext blah blah' });
有没有办法在数据传递给socket.on
函数之前检查数据大小并拒绝接受消息?
我们希望我们的服务器阻止任何包含大于 7 kb 数据的消息。
我们的服务器端代码:
socket.on('startdata', function (data) {
console.log(data.text);});
我们的客户端代码:
socket.emit('startdata', { text: 'testtext blah blah' });
有没有办法在数据传递给socket.on
函数之前检查数据大小并拒绝接受消息?
我也对此感到好奇并进行了一些挖掘。
似乎destroy buffer size
可以使用,默认为 100mb
重要说明:
Used by the HTTP transports. The Socket.IO server buffers HTTP request bodies up to this limit. This limit is NOT applied to websocket or flashsockets.
(https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO)
很遗憾,它不适用于 websockets 或 flashsockets。有人确实为此尝试了拉取请求:https ://github.com/LearnBoost/socket.io/pull/888
使用缓冲区大小
require('socket.io')(server, {
maxHttpBufferSize: 1e9
});