当前位置: 首页>>代码示例>>Java>>正文


Java SnmpPduTrap类代码示例

本文整理汇总了Java中com.sun.jmx.snmp.SnmpPduTrap的典型用法代码示例。如果您正苦于以下问题:Java SnmpPduTrap类的具体用法?Java SnmpPduTrap怎么用?Java SnmpPduTrap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


SnmpPduTrap类属于com.sun.jmx.snmp包,在下文中一共展示了SnmpPduTrap类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: snmpV1Trap

import com.sun.jmx.snmp.SnmpPduTrap; //导入依赖的package包/类
/**
 * Sends a trap using SNMP V1 trap format.
 * <BR>The trap is sent to each destination defined in the ACL file
 * (if available).
 * If no ACL file or no destinations are available, the trap is sent
 * to the local host.
 *
 * @param generic The generic number of the trap.
 * @param specific The specific number of the trap.
 * @param varBindList A list of <CODE>SnmpVarBind</CODE> instances or null.
 *
 * @exception IOException An I/O error occurred while sending the trap.
 * @exception SnmpStatusException If the trap exceeds the limit defined
 *            by <CODE>bufferSize</CODE>.
 */
@Override
public void snmpV1Trap(int generic, int specific,
                       SnmpVarBindList varBindList)
    throws IOException, SnmpStatusException {

    if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
        SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
            "snmpV1Trap", "generic=" + generic +
              ", specific=" + specific);
    }

    // First, make an SNMP V1 trap pdu
    //
    SnmpPduTrap pdu = new SnmpPduTrap() ;
    pdu.address = null ;
    pdu.port = trapPort ;
    pdu.type = pduV1TrapPdu ;
    pdu.version = snmpVersionOne ;
    pdu.community = null ;
    pdu.enterprise = enterpriseOid ;
    pdu.genericTrap = generic ;
    pdu.specificTrap = specific ;
    pdu.timeStamp = getSysUpTime();

    if (varBindList != null) {
        pdu.varBindList = new SnmpVarBind[varBindList.size()] ;
        varBindList.copyInto(pdu.varBindList);
    }
    else
        pdu.varBindList = null ;

    // If the local host cannot be determined, we put 0.0.0.0 in agentAddr
    try {
        if (address != null)
            pdu.agentAddr = handleMultipleIpVersion(address.getAddress());
        else pdu.agentAddr =
          handleMultipleIpVersion(InetAddress.getLocalHost().getAddress());
    } catch (UnknownHostException e) {
        byte[] zeroedAddr = new byte[4];
        pdu.agentAddr = handleMultipleIpVersion(zeroedAddr) ;
    }

    // Next, send the pdu to all destinations defined in ACL
    //
    sendTrapPdu(pdu) ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:62,代码来源:SnmpAdaptorServer.java

示例2: makeResponsePdu

import com.sun.jmx.snmp.SnmpPduTrap; //导入依赖的package包/类
/**
 * Here we make a response pdu from a request pdu.
 * We return null if there is no pdu to reply.
 */
private SnmpPduPacket makeResponsePdu(SnmpPduPacket reqPdu,
                                      Object userData) {

    SnmpAdaptorServer snmpServer = (SnmpAdaptorServer)adaptorServer ;
    SnmpPduPacket respPdu = null ;

    snmpServer.updateRequestCounters(reqPdu.type) ;
    if (reqPdu.varBindList != null)
        snmpServer.updateVarCounters(reqPdu.type,
                                     reqPdu.varBindList.length) ;

    if (checkPduType(reqPdu)) {
        respPdu = checkAcl(reqPdu) ;
        if (respPdu == null) { // reqPdu is accepted by ACLs
            if (mibs.size() < 1) {
                if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
                    SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
                       "makeResponsePdu", "Request " + reqPdu.requestId +
                       " received but no MIB registered.");
                }
                return makeNoMibErrorPdu((SnmpPduRequest)reqPdu, userData);
            }
            switch(reqPdu.type) {
            case SnmpPduPacket.pduGetRequestPdu:
            case SnmpPduPacket.pduGetNextRequestPdu:
            case SnmpPduPacket.pduSetRequestPdu:
                respPdu = makeGetSetResponsePdu((SnmpPduRequest)reqPdu,
                                                userData) ;
                break ;

            case SnmpPduPacket.pduGetBulkRequestPdu:
                respPdu = makeGetBulkResponsePdu((SnmpPduBulk)reqPdu,
                                                 userData) ;
                break ;
            }
        }
        else { // reqPdu is rejected by ACLs
            // respPdu contains the error response to be sent.
            // We send this response only if authResEnabled is true.
            if (!snmpServer.getAuthRespEnabled()) { // No response should be sent
                respPdu = null ;
            }
            if (snmpServer.getAuthTrapEnabled()) { // A trap must be sent
                try {
                    snmpServer.snmpV1Trap(SnmpPduTrap.
                                          trapAuthenticationFailure, 0,
                                          new SnmpVarBindList()) ;
                }
                catch(Exception x) {
                    if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
                        SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, dbgTag,
                           "makeResponsePdu", "Failure when sending authentication trap", x);
                    }
                }
            }
        }
    }
    return respPdu ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:64,代码来源:SnmpRequestHandler.java

示例3: snmpV1Trap

import com.sun.jmx.snmp.SnmpPduTrap; //导入依赖的package包/类
/**
 * Sends a trap using SNMP V1 trap format.
 * <BR>The trap is sent to each destination defined in the ACL file
 * (if available).
 * If no ACL file or no destinations are available, the trap is sent
 * to the local host.
 *
 * @param generic The generic number of the trap.
 * @param specific The specific number of the trap.
 * @param varBindList A list of <CODE>SnmpVarBind</CODE> instances or null.
 *
 * @exception IOException An I/O error occurred while sending the trap.
 * @exception SnmpStatusException If the trap exceeds the limit defined
 *            by <CODE>bufferSize</CODE>.
 */
public void snmpV1Trap(int generic, int specific,
                       SnmpVarBindList varBindList)
    throws IOException, SnmpStatusException {

    if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
        SNMP_ADAPTOR_LOGGER.logp(Level.FINER, dbgTag,
            "snmpV1Trap", "generic=" + generic +
              ", specific=" + specific);
    }

    // First, make an SNMP V1 trap pdu
    //
    SnmpPduTrap pdu = new SnmpPduTrap() ;
    pdu.address = null ;
    pdu.port = trapPort ;
    pdu.type = pduV1TrapPdu ;
    pdu.version = snmpVersionOne ;
    pdu.community = null ;
    pdu.enterprise = enterpriseOid ;
    pdu.genericTrap = generic ;
    pdu.specificTrap = specific ;
    pdu.timeStamp = getSysUpTime();

    if (varBindList != null) {
        pdu.varBindList = new SnmpVarBind[varBindList.size()] ;
        varBindList.copyInto(pdu.varBindList);
    }
    else
        pdu.varBindList = null ;

    // If the local host cannot be determined, we put 0.0.0.0 in agentAddr
    try {
        if (address != null)
            pdu.agentAddr = handleMultipleIpVersion(address.getAddress());
        else pdu.agentAddr =
          handleMultipleIpVersion(InetAddress.getLocalHost().getAddress());
    } catch (UnknownHostException e) {
        byte[] zeroedAddr = new byte[4];
        pdu.agentAddr = handleMultipleIpVersion(zeroedAddr) ;
    }

    // Next, send the pdu to all destinations defined in ACL
    //
    sendTrapPdu(pdu) ;
}
 
开发者ID:openjdk,项目名称:jdk7-jdk,代码行数:61,代码来源:SnmpAdaptorServer.java


注:本文中的com.sun.jmx.snmp.SnmpPduTrap类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。