交流
功能说明:
该程序是基于易语言开发的一款 TCP 网络通信测试客户端,核心依赖名为“光速客户 TCP"的支持库组件实现网络功能。程序的主要目的是模拟客户端行为,用于测试与服务器的连接稳定性、数据收发能力以及进行网络压力测试。
程序的执行流程和功能模块分析如下:
1. **初始化与启动**:
程序启动后首先执行 `_启动子程序`,加载主窗口 `窗口 1`。在主窗口创建完毕事件(`_窗口 1_创建完毕`)中,程序初始化了端口号为 5658,并调用 `生成数据` 子程序预先准备了初始的测试数据包,存储在全局变量 `临时数据` 中。
2. **TCP 连接管理**:
通过界面按钮控制连接状态。当用户点击“按钮 1"时,程序调用 `客户 11.启动连接` 方法,尝试连接到本地地址 `127.0.0.1` 的 `5658` 端口,并指定了事件回调子程序 `子程序 1` 来处理网络事件。点击“按钮 6"则调用 `断开连接` 方法终止当前会话。
3. **事件监听与处理**:
子程序 `子程序 1` 是整个通信的核心回调机制,它根据传入的“事件类型”参数处理不同状态:
- 类型 1:表示连接成功,输出“上线”日志及连接句柄等信息。
- 类型 2:表示接收到数据,程序会调用 `取回数据` 获取内容(代码中有注释掉的逻辑)。
- 类型 3:表示连接断开,输出“下线”日志。
这使得程序能够实时反馈网络连接的健康状况。
4. **数据发送功能**:
程序提供了两种发送模式:
- **单次发送**:点击“按钮 2",程序将之前生成的 `临时数据` 直接通过 `发送数据` 方法发送给服务器,适用于常规通信测试。
- **持续压力测试**:点击“按钮 3",程序进入一个无限循环(`判断循环首 (真)`)。在循环内部,它会不断调用 `生成数据` 产生新的数据流并尝试发送。如果发送失败,程序会捕获异常并自动尝试重新发起连接请求,同时调用 `处理事件` 以防止界面卡死。这种设计明显是为了模拟高频次、大流量的数据传输场景,常用于测试服务器负载或网络带宽瓶颈。
5. **数据生成逻辑**:
`生成数据` 子程序负责构造测试载荷。它返回一个由大量重复数字字符组成的字节集(内容为重复的"123456..."字符串),体积较大且固定,适合作为基准测试数据进行流量填充。
综上所述,该程序是一个功能完备的 TCP 客户端测试工具,具备连接建立、状态监控、单次发送及自动化连续发包的能力。其主要用途是对指定 IP 和端口(默认为本机 5658 端口)的网络服务进行连通性验证及网络吞吐量或抗并发能力的压力测试。
======程序集1
| |
| |------ _启动子程序
| |
| |
======窗口程序集1
| |
| |------ _窗口1_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ 子程序1
| |
| |------ _按钮2_被单击
| |
| |------ _按钮6_被单击
| |
| |------ _按钮3_被单击
| |
| |------ 生成数据
| |
| |------ _按钮4_被单击
| |
| |------ _按钮5_被单击
======程序集1
| |
| |------ _启动子程序
| |
| |
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |
======窗口程序集2
| |
| |------ _窗口2_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |
======TCP工作程序集
| |
| |------ TCP事件子程序
======程序集1
| |
| |------ _启动子程序
| |
| |
======窗口程序集1
| |
| |------ _窗口1_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ 子程序1
| |
| |------ 数据处理
| |
| |------ _按钮2_被单击
| |
| |------ _按钮6_被单击
| |
| |------ 生成数据
| |
| |------ _按钮5_被单击
| |
| |------ _按钮3_被单击
| |
| |------ _按钮4_被单击
| |
| |------ _按钮7_被单击
| |
| |
======窗口程序集2
| |
| |------ _按钮4_被单击
| |
| |------ _按钮1_被单击
| |
| |
======窗口程序集3
| |
| |------ _窗口3_创建完毕
| |
| |------ 发送验证
| |
| |------ _按钮2_被单击
======程序集1
| |
| |------ _启动子程序
| |
| |
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |
======窗口程序集2
| |
| |------ _窗口2_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |
======工作程序集
| |
| |------ 事件子程序
| |
| |------ 数据处理
======启动程序集
| |
| |------ _启动子程序
| |
| |
======窗口程序集
| |
| |------ _按钮1_被单击
| |
| |------ _按钮3_被单击
| |
| |------ _按钮2_被单击
| |
| |
======事件程序集
| |
| |------ 连接子程序
| |
| |------ GET子程序
| |
| |------ POST子程序
| |
| |------ 断点续传
| |
| |------ TCP子程序
| |
| |------ 断点续传位置解析
| |
| |------ 续传位置解析
| |
| |
======游客连接类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 初始设置
| |
| |------ 连接上线
| |
| |------ 连接下线
| |
| |------ 游客
| |
| |------ 取限额
| |
| |------ 取ip
| |
| |------ 取端口
| |
| |------ 取套接字
| |
| |------ 组包创建
| |
| |------ 组包累加
| |
| |------ 组包完成
| |
| |------ 内存组包
| |
| |------ 游客数
| |
| |
======辅助程序集
| |
| |------ 取十进制1
| |
| |------ 随机汉字
| |
| |------ URL编码1
| |
| |------ URL解码1
| |
| |------ 解码文本1
| |
| |------ 编码文本1
| |
| |------ 解析cookies
| |
| |------ 解析属性
| |
| |------ 解析参数url
| |
| |
======功能部分程序集
| |
| |------ 发送静态文件
| |
| |------ 页面发送程序
| |
| |------ HTTP超时检测
| |
| |
======用户连接类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 初始设置
| |
| |------ 用户
| |
| |------ 生成cookie
| |
| |------ 解析cookie
| |
| |------ HTTP上线
| |
| |------ HTTP下线
| |
| |------ 取空闲编号
| |
| |------ 取数据位置
| |
| |------ 取ip
| |
| |------ 用户数
| |
| |------ 取用户名字
| |
| |------ 取存储编号
| |
| |
======CRC32
| |
| |------ BuildTable
| |
| |------ CRCInit
| |
| |------ CRCUpdate
| |
| |------ CRCFinal
| |
| |------ 取内存数据多重数据摘要
| |
| |------ 内存计算CRC32
| |
| |------ API取摘要
| |
| |------ 字节集到十六进制
| |
| |------ 十进制与十六进制互转
| |
| |
======调用的Dll
| |
| |---[dll]------ CryptAcquireContext
| |
| |---[dll]------ CryptHashData
| |
| |---[dll]------ CryptCreateHash1
| |
| |---[dll]------ CryptCreateHash2
| |
| |---[dll]------ CryptGetHashParam
| |
| |---[dll]------ CryptGetHashParam_
| |
| |---[dll]------ CryptDestroyHash
| |
| |---[dll]------ CryptDeriveKey
| |
| |---[dll]------ CryptEncrypt
| |
| |---[dll]------ CryptReleaseContext
======启动程序集
| |
| |------ _启动子程序
| |
| |------ 子程序1取记录数例子
| |
| |------ _临时子程序
| |
| |------ 数据库打开
| |
| |------ 数据库关闭
| |
| |------ 解码文本1
| |
| |------ 安全过滤
| |
| |------ 格式解析颜色
| |
| |------ 格式解析大小
| |
| |------ 格式解析字体
| |
| |------ 注册过滤
| |
| |
======用户读写类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 用户注册
| |
| |------ 用户注册信息提取
| |
| |------ 登录判断
| |
| |------ 写登录密码
| |
| |------ 读登录密码
| |
| |------ 保存附件
| |
| |
======辅助程序集
| |
| |------ 取版块顺序
| |
| |------ 取分组顺序
| |
| |------ 解析内容
| |
| |------ 解析变量
| |
| |------ 解析属性
| |
| |------ 解析上传信息
| |
| |------ 解析上传属性
| |
| |------ 解析上传内容
| |
| |------ 类型到扩展名
| |
| |------ 取路径扩展名
| |
| |------ 附件生成连接
| |
| |
======系统设置读写类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 读系统设置
| |
| |------ 读用户分组
| |
| |
======帖子版块读写类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 读版块数据
| |
| |------ 写入帖子分析
| |
| |------ 写入帖子
| |
| |------ 取帖子信息
| |
| |------ 取帖子内容
| |
| |------ 写入帖子回复
| |
| |------ 取帖子回复
| |
| |
======许可证类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 进入
| |
| |------ 退出
| |
| |
======随机密码类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 取随机密码
======启动程序集
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 载入公用模版
| |
| |
======首页类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 首页
| |
| |------ 一级版块
| |
| |------ 二级版块替换
| |
| |------ 二级版块
| |
| |
======注册类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 注册协议
| |
| |------ 注册填写
| |
| |
======开发类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 开发进度
| |
| |
======提示类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 提示页面
| |
| |
======登录类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 登录页面
| |
| |
======版块类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 版块列表
| |
| |------ 版块导航
| |
| |------ 帖子显示处理
| |
| |------ 版块分页
| |
| |------ 当前页1
| |
| |------ 普通页1
| |
| |
======发帖类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 发帖页面
| |
| |------ 发帖导航
| |
| |
======帖子类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 帖子
| |
| |------ 帖子显示
| |
| |------ 一楼
| |
| |------ 二楼
| |
| |------ 帖子导航
| |
| |------ 帖子分页
| |
| |------ 当前页1
| |
| |------ 普通页1
| |
| |
======设置类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 系统参数
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。