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

Sha*_*eal 5 c++ buffer node.js

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

在这里,我遇到了管理缓冲区大小的问题。假设服务器和客户端之间的连接断开,并且服务器未意识到问题。因此,它将继续写入缓冲区。在这种情况下,我想限制最大缓冲区大小,以便它可以在消耗大量资源之前引发错误。

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

dam*_*hat 4

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来控制您的数据传输。