我在用SNMP协议读取局域网内机器的信息时,发现有些OID返回的数据是不完整的!
例如查询hrDeviceDescr的时候,在一些机器上面是正常的,在一些机器上是不正常的,返回数据如下:
机器1:Realtek RTL8139 Family PCI Fast Ethernet NIC - Virtual PC Emulat
机器2:VMware Virtual Ethernet Adapter for VMnet1 - Virtual PC Emulated
机器3:NVIDIA nForce MCP Networking Controller - 数据包计划程序微型端口
机器4:。数据包计划程序微型
机器5:。数据包计划程序微(半个型)
机器1和机器2后面明显还有数据没有完,机器3可能是正好完了,机器4也明显没有显示完,机器5更是,型还是只有一半我发现返回的数据中,有关结果描述的长度都不能超过64个字节,否则会被截断!上面5个机器的返回数据长度都是正好64个字节!
另外这些机器的其他设备描述如果没有超过64字节,就没有问题!我现在不清楚到底是什么地方把数据给截断了,是SNMP代理返回的结果本身就不够呢还是我在接受的时候截断了呢!但是我用了两种完全不同的接受数据的方法,发现结果都是一样的,所以我怀疑是SNMP代理返回的数据长度本身就不够!不管那种原因,有什么解决的办法呢?
请各位高手指点指点,关系我能否顺利毕业的问题!多谢