摘 要
1980年起,由于一种状态信息病毒的横空出现,并在一种令人出乎意料的速度下开始繁衍,迫使ARPANET完全停止运行。美国政府的高级研究工程机构(ARPA)给加利福尼亚大学Berkeley分销提供了资金,让他们实现TCP/IP协议。在这个项目中Socket(套接字)横空出世。今天,SOCKET是TCP/IP网络中最为通用的API,也是在INTERNET上进行应用程序开发最为通用的API。
本软件基于Qt Creator编译器,C++语言开发。应用了程序设计技术、网络技术和图形化界面技术。使用了Qt封装好的Network模块和SerialPort模块。本课题的研究内容为,利用socket和串口协议编写TCP/UDP/串口的信息收发工具,以此功能为基础来达到调试设备的目的。本调试助手包括5种设备:TCP服务器设备,TCP客户端设备,UDP服务器设备,UDP客户端设备,串口设备。每个模块代表一个类型的设备。用户可创建多个类型的设备或者创建同一类型的多个设备。每种类型设备均可进行数据的收发。在发送数据时可设置数据格式为ASCII或Hex数据,支持单次发送和定时多次发送。支持数据文件导出等功能。TCP服务器用采用多线程来连接客户端。本软件的亮点在于集成了TCP,UDP,串口的调试功能,可提高学习和工作的效率。使本软件的面向群体更加广泛。通过测试,本软件界面美观,操作简单,功能模块一目了然,运行也比较稳定,可以广泛使用。
关键词:Qt;调试助手;TCP;UDP;串口通信
下表是对设计好的用例图中个用例的说明。见表。
用例名 | 入口条件 | 事件流 | 出口条件 | 异常事件 |
---|---|---|---|---|
创建设备 | 用户选择一个类型的设备 | 用户输入所要创建的设备信息 | 关闭创建窗口,在设备区添加设备 | 输入错误的设备信息,创建失败 |
删除设备 | 用户算则一个已创建好的设备 | 删除所选设备 | 设备区删除设备 | 无 |
连接TCP服务器 | 用户选择一个未就绪的TCP客户端 | 击连接服务器按钮 | 设备已就绪 | 服务器不存在或为启动监听,连接失败 |
监听TCP服务器 | 用户选择一个未就绪的TCP服务器 | 点击监听按钮 | 设备已就绪 | 服务器端口被占用,或超出端口范围,监听失败。 |
打开串口 | 用户选择一个未就绪的串口设备 | 点击打开串口按钮 | 设备已就绪 | 串口已经不存在,打开失败 |
关闭串口 | 用户选择已就绪的串口设备 | 点击关闭串口按钮 | 设备未就绪 | 无 |
停止监听TCP服务器 | 用户选择一个已就绪的TCP服务器 | 点击停止监听按钮 | 设备未就绪 | 无 |
断开连接TCP服务器 | 用户选择一个已就绪的TCP客户端 | 点击断开连接按钮 | 设备未就绪 | 无 |
显示设备信息 | 用户选择一个已就绪的设备 | 更改选择已就绪的设备 | 在设备区显示当前设备信息 | 显示不正确 |
单次发送 | 用户选择一个已就绪的设备 | 在数据输入框中输入数据后点击发送按钮 | 发送成功,在数据接收框显示数据 | 不存在发送对象,发送失败 |
定时发送 | 用户选择已就绪的设备 | 在重复发送区域设置定时发送的规则后点击定时发送 | 发送成功,在数据接收框显示数据 | 不存在发送对象,发送失败 |
停止定时发送 | 用户选择一个已就绪并且已经定时发送的设备 | 点击停止定时发送 | 停止发送成功 | 无 |
加载文件 | 用户选择一个已就绪的设备 | 点击加载文件,选择一个数据文件 | 加载成功,在数据发送框显示文件路径 | 无 |
接收数据 | 用户选择一个已就绪的设备 | 接收从其他设备传来的数据 | 显示在数据接收框 | 无 |
导出数据到文件 | 用户选择一个已就绪的设备 | 点击导出数据按钮,选择导出路径 | 导出数据成功 | 无 |
发送接收字节数 | 用户选择一个已就绪的设备 | 记录自己发送的字节长度,记录从其他设备传来的数据字节长度。 | 显示在软件下方 | 无 |
ASCII模式 | 用户选择一个已就绪的设备 | 选择单选框字符发送 | 输入框切换为ASCII输入框 | 无 |
Hex模式 | 用户选择一个已就绪的设备 | 选择单选框十六进制发送 | 输入框切换为Hex输入框 | 无 |
更改最大连接数 | 无 | 点击更改最大连接数,设置最大连接数 | 设置成功 | 设置数小于当前设备数,设置失败 |
详细文档及源码:https://www.write-bug.com/article/3240.html