|

窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 超时时间 | 整数型 | |
超时时间 = 1000 变量名 | 类 型 | 静态 | 数组 | 备 注 | IP地址 | 文本型 | | | 端口 | 整数型 | | | TCP结果 | 逻辑型 | | | UDP结果 | 逻辑型 | | |
IP地址 = 编辑框_IP.内容 端口 = 到整数 (编辑框_端口.内容 )TCP结果 = TCP_Ping (IP地址, 端口, 超时时间 )UDP结果 = UDP_Ping (IP地址, 端口, 超时时间 )编辑框_TCP结果.内容 = 选择 (TCP结果, "端口开放", "端口关闭" )编辑框_UDP结果.内容 = 选择 (UDP结果, "端口开放", "端口关闭或过滤" )|
TCP_Ping | 逻辑型 | | |
目标IP | 文本型 | | | | 目标端口 | 整数型 | | | | 超时毫秒 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 客户Duan | 客户Duan | | | 开始时间 | 整数型 | | | 连接结果 | 逻辑型 | | |
连接结果 = 假 开始时间 = 取启动时间 () 如果真 (客户Duan. 连接 (目标IP, 目标端口 ))  连接结果 = 真  客户Duan. 断开连接 () 线程_启动 (&TCP连接线程, 目标IP, 目标端口, 连接结果 )  判断循环首 (取启动时间 () - 开始时间 < 超时毫秒 ) 程序_延时 (10 )  如果真 (连接结果 )  跳出循环 ()  判断循环尾 () 返回 (连接结果 )|
TCP连接线程 | | | |
目标IP | 文本型 | | | | 目标端口 | 整数型 | | | | 连接结果 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 客户Duan | 客户Duan | | |
.尝试 如果真 (客户Duan. 连接 (目标IP, 目标端口 ))  连接结果 = 真  客户Duan. 断开连接 ().异常连接结果 = 假 .尝试结束 |
UDP_Ping | 逻辑型 | | |
目标IP | 文本型 | | | | 目标端口 | 整数型 | | | | 超时毫秒 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据报 | 数据报 | | | 开始时间 | 整数型 | | | 响应数据 | 文本型 | | | 响应IP | 文本型 | | | 响应端口 | 整数型 | | | 如果真 (数据报. 绑定 (0 ) = 假) 返回 (假) 数据报. 发送 (目标IP, 目标端口, 到字节集 ("UDP_PING_PROBE" + 到文本 (取启动时间 ()) )) 开始时间 = 取启动时间 () 判断循环首 (取启动时间 () - 开始时间 < 超时毫秒 ) 如果真 (数据报. 取回数据 () > 0 )  响应数据 = 到文本 (数据报. 取数据 ())   数据报. 取回地址 (响应IP, 响应端口 )     如果真 (响应IP = 目标IP 且 响应端口 = 目标端口 )  返回 (真) 程序_延时 (50) 判断循环尾 ()返回 (假) 新超时 = 输入框 (" 设置超时时间 (毫秒 ):", "超时设置", 到文本 (超时时间 )) 如果真 (新超时 ≠ "" ) 超时时间 = 到整数 (新超时 ) 编辑框_超时.内容 = 到文本 (超时时间 )
|
评分
-
查看全部评分
|