网络流量统计系统研究与设计.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络流量统计系统研究与设计

网络流量统计系统研究与设计   【摘要】本文用Visual Basic实现了一个网络流量统计的系统。本系统可以有效、准确、及时的统计并显示网络流量,并且具有一定的扩展性。   【关键词】网络流量;统计;Visual Basic      1.引言      随着Internet应用的急剧增长,越来越多的网络应用程序需要了解流量等网络运行参数,以支持可区分的服务。通过对网络流量分析与监管技术的相关网络管理业务,可以对网络进行监视,包括对网络运行情况的监视、网络资源的监视和网络性能(如业务吞吐量、时延、丢包率、RT、带宽利用率、网络伸缩性(scalability)等)的监视等。   目前的网络流量采集和IP统计技术,已不仅用于网络流量费用的计算上,更重要的是透过对所采集数据的分析,可较为准确地获知站点的访问情况以及网络设备运作的状态从而实现对网络流量的监控和异常情况的报警。      2.系统总体设计      在这个程序的设计中,用到了WINDOWS提供的一组用于网络监控与管理的API函数,其中 HELPER API起了很大的作用。在这个工程中,包括两个窗体,四个模块,两个类模块,和两个用户控件。其中类模块clsadaptor.cls和clsIPStatics.cls是核心,窗体是通过调用这两个函数来实现总体功能的。   2.1 系统各模块功能设计   frmMain.frm 文件,显示主窗体界面   frmMenu.frm文件,在任务栏显示程序图标及菜单   modHook.bas文件,捕捉与处理窗口信息。   modINI.bas文件,读取或保存INI文件中的设置。   modStart.bas文件,程序启动。   clsAdaptors.cls文件,获取本机的ADAPTORS的信息    clsIPStatistics.cls文件,获取网络流量数据   ctlSpeedometer.bas文件,以Speedometer样式显示流量数据   2.2 系统运行的主流程图   2.3 系统的定时刷新流程      3.窗体模块设计      图形界面中最常见的对象是窗口,它是visual basic编程中最常见的对象。设计窗体是设计应用程序的第一步,其他对象的载体,各类控件对象必须建立在窗体上,窗体是应用程序的顶层对象。   3.1 frmmain窗体模块   frmmain实现了程序的主界面,显示当前的网络流量统计,采用了速度表盘进行了速度显示,并且使用定时器在一定的时间内定时刷新显示。      程序的具体实现及核心函数如下:   (1) 定义窗体的变量的变量。   (2) GetSettings函数在程序启动后,读取保存在INI文件中的设置,初始化变量。   (3) Start函数,用于初始化类变量和控件的参数。   (4) Form_Unload窗体卸载过程,清除新建的对象,并且保存在INI文件中   (5) tmrCount_Timber定时器事件,定时刷新网络流量数据和数据的显示。   (6) Form_Load函数,在装在窗体的时候触发这个事件,这个程序的主要作用是对变量赋初值,并对窗体的属性初始化。   3.2 freMenu模块   主要是用来当整个程序启动的时候,用来下载窗体和初始化变量。      3.3 标准模块的设计   3.3.1 modHook标准模块   本模块实现了用钩子函数捕捉并处理窗口的消息。如果要处理Form中没有定义的其他的窗口消息,只能通过创建钩子函数进行捕捉并处理,捕捉窗口信息用到WindowLong与CallWindowProc函数。这两个函数都是定义在user32库中的。   程序具体实现及核心代码如下:   (1)API声明。   (2)Hook函数。这个函数实现了钩子函数,通过该函数捕捉VB中没有提供的消息处理。该函数需要一个类型为Form的参数,实现的钩子消息处理就是针对Form参数所指定的窗口对象。   主要代码如下:   Public Sub Hook(frm As Form)   Set AppForm = frm   ghw = frm.hwnd   lpPrevWndProc=SetWindowLong(ghw,GWL_WNDPROC, AddressOfWindowProc)   End Sub   (3)UnHook函数。UnHook函数实现了取消钩子函数,如果对一个窗体使用了前面的Hook函数,那么UnHook函数必须在某一个时刻被调用取消消息捕捉处理。   (4)WindowProc函数。是自定义的窗体消息处理函数,函数必须要有4个参数,都是ByVa

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档