一、问题描述
我想编写一个与本地 SNMP 代理进行通信的客户端程序,由于 SNMP代理是位于本地主机上,于是 客户端中 target地址采用回环地址。另外,SNMP代理的共同体设置为“private-xxq”,权限设置为“只读”,可以接收的SNMP包指定为“本机”(这些配置如图1-1所示)。同样地,在原程序中也使用与本地 SNMP代理相同的共同体。部分源码如下。我运行程序后,出现“SNMP request time out”的错误提示。
图1-1
部分代码为:
Snmp::socket_startup();
CTarget target(IpAddress("127.0.0.1"), "private-xxq", "private-xxq");
target.set_version(version1);
Vb vb("1.3.6.1.2.1.1.1.0");
Pdu pdu;
pdu += vb;
int status;
Snmp snmp(status);
if (SNMP_CLASS_SUCCESS != status)
{
cout << snmp.error_msg(status) << endl;
return -1;
}
cout << "目的IP:" << target.get_address().get_printable() &