snmp4j:标量和表格

本文介绍了SNMP中的两种变量类型——标量和表格。标量对象实例通过在其对象ID后加'.0'来标识,而表格对象由列对象和行索引值联合标识。示例中展示了如何使用snmp4j创建标量和表格,包括标量的读写以及表格的创建和添加行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SNMP的变量可分为两种,一种是标量(scalar variable),另一种是用表格组织的变量。

对象是一个定义,实际的应用需要把对象实例化,无论哪种变量都有对象实例。一个标量对象只有一个对象实例,标量的对象实例是通过在对象ID后加‘.0’来标识。

表格中的对象我们通常叫列对象,他的实例是一组用列对象标识符(OID)和行索引值(RowIndexValue)联合标识的实例,对象OID后面扩展index的值来标识对象实例

1. moscalar  继承此类,重写getValue()方法。实现标量的读写。

    public static class NameScalar extends  MOScalar<OctetString>{
        public NameScalar(OID id, MOAccess access, OctetString value) {
            super(id, access, new OctetString());
            
        }
        @Override
        public OctetString getValue() {
            OctetString str = null;
            switch(getID().toString()){
               case "1.3.6.1.4.1.5000.1.1.0":str = new OctetString("first");break;
               case "1.3.6.1.4.1.5000.1.2.0":str = new OctetString("sencond");break;
            }
            return str;
        }
        
    }


2.创建表格

MOColumn[] moColumns = new MOColumn[] {
                 new DisplayString<OctetString>(0, MOAccessImpl.ACCESS_READ_WRITE, new OctetString("hello,lucy")),
                 new DisplayString<OctetString>(1, MOAccessImpl.ACCESS_READ_WRITE, new OctetString("hello,jack")),
                 new DisplayString<OctetString>(2, MOAccessImpl.ACCESS_READ_WRITE, new OctetString("hello,tom"))
         };
        
         table = new DefaultMOTable<DefaultMOMutableRow2PC, MOColumn, DefaultMOMutableTableModel<DefaultMOMutableRow2PC>>
         (oidMyTable, tableIndex, moColumns);
        
         tableModel = new DefaultMOMutableTableModel<DefaultMOMutableRow2PC>();
         tableModel.setRowFactory(new DefaultMOMutableRow2PCFactory());
         table.setModel(tableModel);
        
         table.addNewRow(new OID("1"), new Variable[]{new OctetString("one"),new OctetString("one"),new OctetString("one")});
         table.addNewRow(new OID("2"), new Variable[]{new OctetString("two"),new OctetString("two"),new OctetString("two")});



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值