WinSNMP应用程序必须调用SnmpRecvMsg函数检取SnmpSendMsg请求的应答。 SnmpOpen函数传递应用程序窗口句柄并通知消息标识符给WinSNMP实现。当应用程序窗口接收到这个消息时,它向应用程序发信号通知,使用SnmpOpen函
WinSNMP应用程序必须调用SnmpRecvMsg函数检取SnmpSendMsg请求的应答。
SnmpOpen函数传递应用程序窗口句柄并通知消息标识符给WinSNMP实现。当应用程序窗口接收到这个消息时,它向应用程序发信号通知,使用SnmpOpen函数返回的会话句柄调用SnmpRecvMsg函数。SnmpRecvMsg函数返回二个实体句柄,一个上下文句柄,一个PDU句柄。可以用SnmpFreeEntity,SnmpFreeContext,SnmpFreePdu函数释放这
接收SNMP发送请求
|
将请求转换为内部数据格式
|
映设MIB变量为本地值
|
向用户回送响应
|
将响应转化为外部格式
|
执行请求的赋值或取值操作
|
些资源。整个SNMP数据处理流程(见图2)
图2 SNMP数据处理流程图
3.2编写IDL文件,制作CORBA服务器
根据SNMP客户端的主文件SwsnmpM.pas,提取出主要的在WinSNMP用到的方法,定义成接口,使之成为CORBA服务器要用到的方法。在Delphi 6.0中用Tools――Regenerate CORBA ILD files命令,编译成Corbaconn_c.pas,Corbaconn_i.pas,Corbaconn_s.pas,Corbaconn_impl.pas四个文件,分别代表含义如下:①Corbaconn_s.pas:(XXX_S) ,创建服务器主干单元{Server skeleton unit};②Corbaconn_i.pas:(XXX_I) 创建Pascal接口单元;③Corbaconn_impl.pas:(XXX_impl),创建服务器执行单元申明;④Corbaconn_c:(XXX_C) 创建客户段的骨架单元{Client stub unit}。
其中_s,_c,_I可以暂时不去看它,_impl就是要添加代码的地方,在这个文件里添加客户端用到的方法的具体声明及初始化代码。主控单元中代码如下:
⑴ sers中添加Corbaconn_c, Corbaconn_i, Corbaconn_impl, Corbaconn_s;
⑵ rotected //添加自定义变量
Corbaconn_Server:CRBDBServer;
为客户段创建一个实例。
在procedure InitCorba 过程中填写
Corbaconn_Server:=TCRBDBServerSkeleton.Create(‘Crb服务器’, TCRBDBServer.Create);
BOA.ObjIsReady(Corbaconn_Server as _Object);
激活smart agent运行。
4 结束语(如何实现CORBA的SNMP网管中间件设计)
CORBA技术的成功在于,它除了能够解决由于多个系统层次上的异构带来的“孤岛”问题,还在理论和技术上扩展了客户/服务器的模式,使系统具有良好的可伸缩性,便于系统的开发与升级,保护已有投资。CORBA的核心是ORB,它作为转发消息的中间件,实现了对象间的无缝集成和互操作。CORBA的平台无关性使其可以跨越不同的网络、不同的机器和不同的操作系统实现分布对象之间的互操作,并提高了软件的安全性和可复用性。用CORBA技术结合SNMP网管协议实现中间件平台是一种适用性强,实现简易的技术,同时也符合中间件技术的发展趋势。本文就SNMP网管协议的实现和CORBA技术规范的应用进行了分析和探讨,并实现了一个简单的系统,在此基础上可以扩充异常处理、安全性检查等功能。
(责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%
版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.