Snmp4j的例子

import java.io.IOException;

import org.snmp4j.CommunityTarget;
import org.snmp4j.PDU;
import org.snmp4j.Snmp;
import org.snmp4j.TransportMapping;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.GenericAddress;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.transport.DefaultUdpTransportMapping;
import org.snmp4j.smi.Variable;

public class SnmpMain {

	public static void main(String[] args) {
		Address targetAddress = GenericAddress.parse("udp:127.0.0.1/161");

		CommunityTarget target = new CommunityTarget();
		target.setCommunity(new OctetString("public"));
		target.setAddress(targetAddress);
		target.setTimeout(10000);
		target.setVersion(SnmpConstants.version1);
		// creating PDU
		PDU pdu = new PDU();

		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.1")));
		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.2")));
		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.3")));
		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.4")));
		pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.5")));
		// pdu.add(new VariableBinding(new OID(new int[] {1,3,6,1,2,1,1,2})));
		pdu.setType(PDU.GETNEXT);

		try {
			TransportMapping transport = new DefaultUdpTransportMapping();
			transport.listen();
			Snmp snmp = new Snmp(transport);

			ResponseEvent response = snmp.send(pdu, target);
			if (response != null) {
				PDU respPdu = response.getResponse();
				for (int i = 0; i < respPdu.size(); i++) {
					VariableBinding varBinding = respPdu.get(i);
					Variable var = varBinding.getVariable();
					System.out.println(var.toString());
				}
			}

		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}



搞了半天没调通,原来忘了transport.listen()了。
呵呵,准备在用Flash做个类似vista那样的CPU,内存占用率的仪表盘。

你可能感兴趣的:(windows,Microsoft,Flash)