在SNMP4J中创建TimeTicks对象时发生IllegalArgumentException

在SNMP4J中创建TimeTicks对象时发生IllegalArgumentException,snmp,snmp4j,Snmp,Snmp4j,使用SNMP4J,我想使用交换机供应商的专有OID为当前时间设置交换机中的时间。在交换机上执行MIB漫游(以及在使用交换机的web界面设置时间时嗅探SNMP通信量)将显示参数的类型为timeticks值(3)。我认为这意味着我应该在SNMP4J中使用TimeTicks变量类型。我的问题是,一旦创建了TimeTicks对象,我就无法为它赋值 其中一个TimeTicks构造函数接受一个长参数;此构造函数没有文档(!)并引发异常,因为参数不是UnsignedInteger32类型。还有一个FromMi

使用SNMP4J,我想使用交换机供应商的专有OID为当前时间设置交换机中的时间。在交换机上执行MIB漫游(以及在使用交换机的web界面设置时间时嗅探SNMP通信量)将显示参数的类型为timeticks值(3)。我认为这意味着我应该在SNMP4J中使用TimeTicks变量类型。我的问题是,一旦创建了TimeTicks对象,我就无法为它赋值

其中一个TimeTicks构造函数接受一个长参数;此构造函数没有文档(!)并引发异常,因为参数不是UnsignedInteger32类型。还有一个FromMillises(long)方法,它执行完全相同的操作:抛出IllegalArgumentException,因为参数不是UnsignedInteger32类型


我的问题是,是否可以使用SNMP4J设置TimeTicks值?

我认为这是一个类型问题,但事实证明我的问题是由于使用了超出无符号int范围的长值造成的;它适用于大于0且小于4294967296的值。

我认为这是一个类型问题,但事实证明,我的问题是由于使用了超出无符号int范围的长值造成的;它适用于大于0且小于4294967296的值。

通过字符串设置值也会出于相同的原因产生相同的IllegalArgumentException。通过字符串设置值也会出于相同的原因产生相同的IllegalArgumentException。