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

标签 c++ node.js buffer

我正在创建一个服务器应用程序,它使用 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.bytesRead , socket.bytesWritten控制您的数据传输。

关于c++ - 如何在 Node.js 中设置最大缓冲区大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20739369/

相关文章:

javascript - 如何反转十六进制缓冲区上的 buffer.toString() ?

c++ - 只要您不直接访问它包含的值,它是否通过 memcpy 序列化对象表示而不创建安全的对象?

c# - 从原生 C++ 到 C# 的回调 byte[]

php - 当我尝试使用 phpmailer 发送邮件时,出现错误

node.js - 使用 fast-csv 流解析器的 Node js Express 应用程序无法在 "data-invalid"上重定向

node.js - Nodejs非对称缓冲区<->字符串转换

java - sc.hasNextInt() 什么时候等待输入?

android - Eclipse 索引器没有找到使用 android ndk 的函数

C++ 文字字符串和常量字符串引用参数

node.js - Redis:按分数排序的集合的交集