如何接受SNMP Trap事件

fengwanfengwan 2013-09-14 06:08:01
我在VC6下编写SNMP控制台程序和代理程序,使用的是基本的API(没有用WinSnmp)。
我是这样触发陷阱事件的:
1. 在完成了一个操作后,授信“SnmpExtensionInit”中的phSubagentTrapEvent。
2. SnmpExtensionTrap中,设置完参数后,返回TRUE。
捕获陷阱事件的流程是:
1. SnmpMgrTrapListen( hEvent );
2. WaitForSingleObject(hEvent,INFINITE);
3. while(TRUE)
{
SnmpMgrGetTrap();
}
通过调试,我看到“陷阱事件”被成功触发了,但是管理控制台始终收不到该事件。
不知道什么原因。

看网上对陷阱事件的解释是:SNMP trap(SNMP 陷阱):某种入口,到达该入口会使SNMP被管设备主动通知SNMP管理器,而不是等待SNMP管理器的再次轮询。
然后又看了控制面板、管理工具、服务中对“SNMP Trap Service”的解释是“接收由本地或远程 SNMP 代理程序产生的陷阱消息,然后将消息传递到运行在这台计算机上 SNMP 管理程序。”

我就搞不明白了:
陷阱事件只能通知给代理所在的计算机吗?
安装在背的设备上的管理控制台是否能够收到陷阱信息?
我的控制台程序和代理程序是在一台机子上的,为什么收不到呢?
...全文
472 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengwanzk 2013-09-16
  • 打赏
  • 举报
回复
调试看到agent收到了Trap事件。 今天本机调试发现,本机可以收到Trap,但是与之相连的计算机的SNMP控制台收不到该事件。
oyljerry 2013-09-15
  • 打赏
  • 举报
回复
先看agent收到没,一般可以由agent再调用会送给manager

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧