nbsp; );
既然在上一步已经得到了结果数,用一个简单的for循环一次将结果取出吧。该函数有四个参数,第一个在第三步已得到,第二个就是你for循环中的变量值,记住取得变量是从0开始的,后两个参数想想是不是与前面某个函数的参数有点相似。对了,前面我们把他们都置为空,现在SNMP代理将返回值添了进去,我们可以坐享其成了,定义两个变量,接收就行了。提醒一下,对ip地址的接收会有点不同,因为返回值将其封装为一个指针数组了,你需要一个一个的取出来!
看上去工作是做完了,别急,还有一个很重要的环节,难道你没想过创建了这么多东西就不会占用资源吗?当然要占用,而且你不释放他它不会自动释放,前面我们总共介绍了5个重要的句炳,只有会话句炳是在发送和接收消息时都用到的,所以在发送和接收消息以后,你要将其他四个句炳释放掉,那么会话句炳何时释放呢?对了,应该在你应用
程序退出的过程中释放掉,进而你会想到创建会话句炳的位置了吧,那就是在构造函数里。以上这些释放句炳资源的函数SNMP API都有提供,如SnmpFreeEntity,SnmpFreeContext,SnmpFreeVbl,SnmpFreePdu,SnmpClose,他们的参数只有一个,就是你要是放得句炳。最后你要清理整个现场,用函数SnmpCleanup()解决他们吧。
ok了,一且到此完结,大概步骤就这些了,呵呵,你也许对SNMP_PDU_SET和SNMP_PDU_TRAP有些不解,前者你可以在10。追加绑定列表中
改变变量值,当然要遵循smiVALUE的结构,将类型和值都添上,填好需要改变的对象标志符,11。创建PDU中将类型设为SNMP_PDU_SET就行了。
traps有些麻烦,因为它的数据报格式有点特别,本人对他也是一知半解,马马虎虎能够实现,待以后整理思路后在与大家交流!
对于想进行SNMP编程的人员,在下以菜鸟的身份给你们提个醒,SNMP编成的过程很死,但精心的设计会使你的
程序更加的健壮、高效和容易扩展,我强烈的建议你们看看hp的snmp++,他的源代码很有层次,极易扩展,我的网名本来是zqq_tt但不知被谁申请过了,于是我在csdn里申请的名字是zqqq1,本人的qq号是81126700。非常愿意与大家交流!
由于自己的时间比较充裕,很想做一点兼职,能给机会者感激不尽!