如何在 Node.js 中设置最大缓冲区大小

How to set maximum buffer size in Node.js?

本文关键字:缓冲区 设置 Node js      更新时间:2023-10-16

我正在创建一个服务器应用程序,它使用socket.write()将数据发送回客户端。

在这里,我遇到了管理缓冲区大小的问题。假设服务器和客户端之间的连接中断,并且服务器不知道问题。因此,它会不断写入缓冲区。在这种情况下,我想限制最大缓冲区大小,以便它可以在消耗大量资源之前抛出错误。

我知道 node_buffer.h 中的 kMaxLength 控制缓冲区的大小,但我认为通过一些自定义方法更改其值不是一个好主意。还有其他方法可以管理大小吗?

kMaxLength 是内存分配的极限值,它比 socket.buffSize 大得多

http://nodejs.org/docs/v0.11.5/api/smalloc.html

你可以在这里阅读有关socket.buffSize的信息:

http://nodejs.org/api/net.html#net_socket_buffersize

您还可以查看socket.bytesReadsocket.bytesWritten来控制数据传输。