[内附完整源码和文档] 基于WPF实现的回音壁网络程序

本文档介绍了基于WPF开发的回音壁网络程序,用于测量客户端与服务器间的通信延时,精确到毫秒级。程序包含多线程搜索服务器、动态参数调整、图表生成等功能,并通过Excel接口生成统计图表。同时,文档详细阐述了关键技术、子模块设计以及接口关系。
摘要由CSDN通过智能技术生成

二、功能模块设计概述
2.1 基本需求
测试两个节点之间的通信延时;

延时计算要求精确到毫秒级;

多次(不少于10次,每次测试不少于30个样本点数据)测试,完成延时变化图表和统计平均延时,以及分析延时变化特点;

测试与某台指定计算机之间的延时;

测试数据存放在日志文件中;

设计不少于三种不同的测试场景,如从距离的角度,从计算机是否忙于本地其它工作的角度(如播放视频),从计算机是否忙于其他下载的角度;

另外编写程序或使用工具软件分析测试数据,如计算均值、方差、作图等;

软件具有图形化界面,或者有命令行式菜单,可连续测试,可调整测试参数,如一次测试需要多个样本点;

2.2 功能概述
能够测量客户端程序与服务器程序之间的通信延时;

能够动态接收用户参数,调整测试方式;

能够计算统计信息,生成相关图表;

2.3 主要技术指标
测量通信延时的精确度;

客户端程序的易用性;

2.4 关键问题分析及解决思路
2.4.1 消除主机处理时间与ARP对延时的影响
通过大部分服务器本身自带的“回音壁”服务器辅助,即通过 简单TCP/IP服务 中的 ECHO(端口7)进行,通过测量远程服务器的回传时间,使得主机处理时间与ARP殉职时间。

2.4.2 测量传输延时与主机距离的关系
通过多线程机制,自动搜索各个网段上的回音壁服务器,测量延时和通过Traceroute计算跳数。

2.4.3 自动生成Excel图表
本机安装Microsoft Office 2013后,通过调用Excel的COM接口,将测试数据动态转换为Excel 图表。

2.7 各子模块方案设计
2.7.1 服务器部分
网络回传模块

采用TCP和/或UDP协议侦听指定端口,收到请求后自动建立连接。对于TCP协议采用逐字节回传策略,每从客户端接收一个字节便回送该字节,以减小本地处理延时;对于UDP协议采用逐数据报回传策略。

状态控制模块

根据用户的操作,能够实时响应用户的开启或关闭服务器请求。

2.7.2 客户端部分
网络通信模块

采用TCP和/或UDP协议,通过用户输入的IP地址和端口号,(连接目的端点并)向目的端点发送测试消息,记录(连接目的端点和)发送消息的时刻值,等待并接收回送消息。若收到回送消息,记录接收消息的时刻值,若没有接收到消息,记录错误信息。

进程控制模块

维护线程池和任务队列,控制后台线程的运行与停止。线程池用于在自动探测模式下按照特定规则生成IP地址队列,利用线程池对上述IP地址端口7进行测试。

图形交互模块

接收用户输入参数,显示实时信息。

图表输出模块

根据测试数据,调用Excel的COM接口,生成相应的Excel图表。

三、接口设计
3.1 外部接口关系
软件使用了Office 2013的COM接口(https://msdn.microsoft.com/zh-cn/library/office/microsoft.office.interop.excel.aspx ),其详细接口信息可以写一本书,此处从略。

3.2 内部接口关系
ExcelBuilder接口,在用户交互模块中调用。

四、模块详细设计
4.1 报文格式及定义
使用TCP及UDP协议的标准报文格式。

4.2 协议描述
使用Socket库文件中封装的TCP及UDP协议。

4.3 子模块设计
ExcelBuilder,用于Excel动态图表的构造,由于构造Excel图表本身是较为独立的功能,与具体的数据内容无关,故构建为独立项目。

五、界面展示
输入校验
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取:

https://www.write-bug.com/article/3014.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值