我正在创建一个服务器应用程序,它使用socket.write()将数据发送回客户端。
在这里,我遇到了管理缓冲区大小的问题。假设服务器和客户端之间的连接中断,服务器不知道问题。所以,它一直写入缓冲区。在这种情况下,我想限制最大缓冲区大小,以便它可以在消耗大量资源之前抛出错误。
我知道node_buffer.h中的kMaxLength控制缓冲区的大小,但我不认为通过一些自定义方法更改其值是个好主意。有没有其他方法来管理大小?
答案 0 :(得分: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.bytesRead
,socket.bytesWritten
来控制您的数据传输。