跳到主要内容
CNode

新手测试net模块功能,返回数据长度问题

问答
Zzhaixg发布于 10 年前最后回复 10 年前
333960

最近打算用nodejs写一个zookeeper指标监控程序,主要用zk的四字命令实现。 现在的思路是使用net.Socket().write('XXXX')方法,向zk所在服务器的2181端口发送“stat”这样的四字命令。 大部分返回结果正常,但是遇到返回结果比较长的时候(如用dump查看连接信息),返回结果会丢失一部分。是net组件自身限制了返回结果的长度吗?

查看回复

回复 (3)

L
liujavamail#310 年前
const buffer = require('buffer')
buffer.INSPECT_MAX_BYTES = 10000
let buf = Buffer.from('asldfjalsdfjlasdjflkasjdflasdflkjaslkdfjkalsdjfklasdjflkasdjfa')
console.log(buf)

不知道是不是这个

Z
zhaixg#210 年前
引用 liujavamail是buffer限制了, buf可以设置最大长度,你去看看文档

@liujavamail 查看了一下net.Sockert().write()的文档,是这么描述的:Returns true if the entire data was flushed successfully to the kernel buffer. Returns false if all or part of the data was queued in user memory. 'drain' will be emitted when the buffer is again free. 看来需要加true/false判断处理。 没找到buffer长度设置的内容。。。

L
liujavamail#110 年前

是buffer限制了, buf可以设置最大长度,你去看看文档

参与回复

登录后即可参与回复。登录