如何设置传入套接字的最大大小限制.输入输出消息

how to set maximum size limit for incoming socket.io message

本文关键字:消息 输入输出 套接字 何设置 设置      更新时间:2023-09-26

我们希望我们的服务器阻止任何包含大于7kb的数据的消息。

我们的服务器端代码:

socket.on('startdata', function (data) {
        console.log(data.text);});

客户端代码:

        socket.emit('startdata', { text: 'testtext blah blah' });

是否有一种方法可以检查数据大小,并在数据传递给socket.on函数之前拒绝接受消息?

使用buffer size

require('socket.io')(server, {
    maxHttpBufferSize: 1e9
});

我对此也很好奇,并做了一些调查。

似乎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