wsnmpAPI编程,接收函数返回SNMPAPI_NOOP错误
最近在做网络拓扑的东西,用的是wsnmpAPI开发,开发语言是是c#。但是遇到了问题,就是SnmpRecvMsg()函数出了问题,接收不到信息。搞了我几天了,一直出不来。
声明是:
[DllImport("wsnmp32.dll")]
public static extern SNMPAPI_STATUS SnmpRecvMsg(IntPtr session, out IntPtr src, out IntPtr dest, out IntPtr context, out IntPtr pdu);
函数是:
if(SnmpRecvMSg(hSession,out src,out dest,out hContext,out pdu_resv)!=SNMPAPI_SUCCESS)
{
MessageBox("SnmpRecvMSg Error","Error");
Return;
}
其中hSession是用SnmpOpen()函数建立的,hContext也是用函数SnmpStrToContext()建立的,src、dest、pdu_resv是新定义的。运行时弹出"SnmpRecvMSg Error"的错误,用 SnmpGetLastError(hSession)返回的错误是SNMPAPI_NOOP。我用抓包软件抓了包,显示程序发出了请求信息,路由器也返回了response信息,但是程序就是接收不到。请大牛指教啊!