public static void Main(string[] args)
{
IList<Variable> oids = new List<Variable>();
oids.Add(new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.1.0")));
IPEndPoint receiver = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 161);
Manager manager = new Manager();
manager.Get(receiver,"public",oids);
}
//以上代码试过了,,,直接报错“未将对象引用到对象的实例”
----------------------------------------------
public static void Main(string[] args)
{
int timeout = 3000;
IList<Variable> oids = new List<Variable>();
oids.Add(new Variable(new ObjectIdentifier("1.3.6.1.2.1.1.1.0")));
 
//这里是确定本机的161端口开了的,其他软件可以get出来
IPEndPoint receiver = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 161);
 
Discovery discovery = new Discovery(1, 101);
ReportMessage report = discovery.GetResponse(timeout, receiver);//这里如果不写就报错,但是写了又貌似没用GetRequestMessage request = new GetRequestMessage(1, VersionCode.V1, new OctetString("public"), oids);
ISnmpMessage response = request.GetResponse(timeout, receiver);
//以下是数据解析
if (response.Pdu.ErrorStatus.ToInt32() != 0) // != ErrorCode.NoError
....
}
//以上代码运行后说连接超时或者不成功
--------------------------------------------------------
 
到底该怎么写呢?
我看到其中有一个对象OptionSet p = new OptionSet()
这个p的作用是什么?
直接运行你的原始代码也不对直接跳到showHelp去了
SNMP 版本是V1