用winsnmp开发的,想在管理端实现捕捉代理的trap。但是注意到SnmpRegister中第一个参数是HSNMP_SESSION也就是会话类,在不明白这个参数有什么用?在我看来,trap是代理自己发送给管理者的,完全是一个新的会话session,管理端即使设置了SnmpRegister,也不会响应到吧?难道网上的trap捕捉都是自己监听162端口,然后根据trap pdu的结构自己解析嘛?
谢谢各位大虾~

解决方案 »

  1.   

    难道当trap来的时候,WinSNMP管理器向所有注册接收trap的session都相应嘛?
      

  2.   


    SNMPAPI_STATUS tmp = SnmpRegister(SNMP_session, /*manager*/NULL,NULL/* send_entity*/, /*send_context*/NULL, NULL, SNMPAPI_ON);
    if(tmp == SNMPAPI_SUCCESS)
    cout << endl << "SnmpRegister success!" << endl;
    else
    cout << endl << "SnmpRegister fail!!!!!!!!!" << endl << SnmpGetLastError(NULL) << endl;