有没有办法限制字符串的最大大小?

时间:2015-06-13 10:40:51

标签: node.js websocket

我有一个应用程序,我希望限制连接客户端通过线路发送的消息的最大大小。从理论maximum of a message in Node.js is about 1.9 GB开始,如果某些恶意客户端试图发送超大数据包,我实际上从不希望我的应用程序分配那么大的内存。

如何限制传入邮件大小,比如1024字节?

2 个答案:

答案 0 :(得分:1)

每个字符的长度为1到3个字节。因此,从技术上讲,您可以只对字符串进行子串,以获得所需的长度

var limited = fullString.substring(0, 1024);

或者你可以使用这样的包:utf8-binary-cutter

答案 1 :(得分:0)

对于以后寻求该问题答案的任何人,请在服务器配置中使用maxPayload选项限制消息的大小,然后由Node读取(这几乎总是您想要的)

const wss = new WebSocket.Server({
        clientTracking: true,
        maxPayload: 128 * 1024, // 128 KB
        path: "/learn",
        //....
})