易语言IP 端口扫描 报警器
.版本 2
.支持库 EThread
.子程序 _时钟1_周期事件
.如果真 (线程 = 0)
启动线程 (线程_1, , 线程)
.如果真结束
.子程序 线程_1
标签3.标题 = “正在检查...”
.如果 (客户1.连接 (“221.231.131.213”, 8484))
标签3.标题 = “开启”
.否则
标签3.标题 = “关闭”
.如果结束
标签4.标题 = “正在检查...”
.如果 (客户1.连接 (“218.30.74.142”, 8484))
标签4.标题 = “开启”
.否则
标签4.标题 = “关闭”
.如果结束
标签5.标题 = “正在检查...”
.如果 (客户1.连接 (“125.39.60.112”, 8484))
标签5.标题 = “开启”
.否则
标签5.标题 = “关闭”
.如果结束
标签6.标题 = “正在检查...”
.如果 (客户1.连接 (“125.39.90.126”, 8484))
标签6.标题 = “开启”
.否则
标签6.标题 = “关闭”
.如果结束
标签7.标题 = “正在检查...”
.如果 (客户1.连接 (“121.14.48.107”, 8484))
标签7.标题 = “开启”
.否则
标签7.标题 = “关闭”
.如果结束
强制结束线程 (线程)
线程 = 0
关于易语言扫描文件
枚举文件即可。
枚举文件实例:
.版本 2
.子程序 枚举文件, , , 递归枚举指定目录下所有文件。
.参数 目录, 文本型, , 枚举文件的目录。
.参数 后缀名, 文本型, 可空, 请以“.*”的格式提供。
.参数 文件列表, 文本型, 参考 数组, 提供一个文本数组变量来保存文件完整路径。
.局部变量 临_目录, 文本型
.局部变量 临_文件, 文本型
.局部变量 i, 整数型, 静态
' 枚举目录
.如果真 (倒找文本 (目录, “\”, , 假) ≠ 取文本长度 (目录))
目录 = 目录 + “\” ' 把末尾的斜杠补全。
.如果真结束
清除数组 (文件列表) ' 删除此句就会在原有基础上再加入成员,所以要清除。
临_目录 = 寻找文件 (目录 + “*”, #子目录) ' 第一次寻找要提供相应条件。
.判断循环首 (临_目录 ≠ “”) ' 只要找到的结果不为空,就继续寻找。
.如果真 (临_目录 ≠ “.” 且 临_目录 ≠ “..”) ' 如果不把这两个点过滤掉会无限递归。
枚举文件 (目录 + 临_目录 + “\”, 后缀名, 文件列表) ' 递归。
.如果真结束
临_目录 = 寻找文件 (, #子目录) ' 之后,系统会默认使用最近一次提供的条件,进行寻找下一个结果,所以这里只需要指定寻找对象:#子目录。
.判断循环尾 ()
' 枚举文件
临_文件 = 寻找文件 (目录 + “*” + 后缀名, ) ' 第一次寻找要提供相应条件。
.判断循环首 (临_文件 ≠ “”) ' 只要找到的结果不为空,则继续寻找。
临_文件 = 目录 + 临_目录 + 临_文件 ' 文件全路径=父目录+当前目录+文件名。
加入成员 (文件列表, 临_文件)
临_文件 = 寻找文件 (, )
.判断循环尾 ()
如果要一个个显示,那么在最后用计次循环就可以实现了。
如有疑问请追问。
求大手们教教我 易语言怎么取IP 地址的端口号?
.版本 2.子程序 取客户IP, 文本型, 公开, 取客户端IP,成功返回客户端IP,失败返回空字符串。.参数 客户端句柄, 整数型, , 通过“取回客户()”得到的客户端句柄。.局部变量 IP地址指针, 整数型.局部变量 整数IP地址, 整数型.局部变量 对方地址信息, Sockaddr_in.局部变量 信息长度, 整数型, , , 用于获取信息长度.局部变量 返回值, 整数型信息长度 = 16返回值 = getpeername (客户端句柄, 对方地址信息, 信息长度).如果真 (返回值 = #SOCKET_ERROR) 返回 (“”) ' 服务器类取客户IP时出错.如果真结束IP地址指针 = inet_ntoa (对方地址信息.sin_addr).如果真 (IP地址指针 = 0) 返回 (“”) ' 服务器类取客户IP时整数地址转文本地址时出错.如果真结束返回 (指针到文本 (IP地址指针)).子程序 取客户端口, 整数型, 公开, 取客户端口,成功返回客户端口,失败返回-1。.参数 客户端句柄, 整数型, , 通过“监听()”得到的客户端句柄。.局部变量 整数IP地址, 整数型.局部变量 对方地址信息, Sockaddr_in.局部变量 信息长度, 整数型.局部变量 返回值, 整数型信息长度 = 16返回值 = getpeername (客户端句柄, 对方地址信息, 信息长度).如果真 (返回值 = #SOCKET_ERROR) 返回 (-1) ' 服务器类取客户端口时出错.如果真结束返回 (取字节集数据 (到字节集 (ntohs (对方地址信息.sin_port)), #整数型, 1))
易语言 服务端启动时,如何检测指定端口是否被其他软件先占用?
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.如果 (客户1.连接 (“127.0.0.1”, 19730))
信息框 (“端口检测完毕1”, 0, )
.否则
信息框 (“端口已被占用”, 0, )
.如果结束
.子程序 _服务器1_客户进入
.如果 (取文本左边 (服务器1.取回客户 (), 9) = “127.0.0.1”)
信息框 (“端口检测完毕2”, 0, )
.否则
信息框 (“端口已被占用”, 0, )
.如果结束
试试看能不能实现
易语言远程控制端口连接测试
我想说 = = 你是不是 判断语句的结果 写反了??? 成功写成失败结果,失败写成成功结果?
还有,如果你使用了路由, 不使用穿透技术, 服务端 和 客户端 这两个组件就是玩具,没有什么用的 = =。
易语言端口映射,怎么弄
近在眼前 端口
程序功能:实现简单的端口映射功能。
程序过程:使用服务器和客户组件启动端口服务。
程序支持:需要 网络通讯支持库 的支持
其它说明:虽然很简单,但是可以实现最基本的功能,也可以当代理服务器用。
.版本 2
.支持库 sock
.程序集 窗口程序集1
.程序集变量 端口1
.程序集变量 端口2
.程序集变量 ip1, 文本型, , "0"
.程序集变量 ip2, 文本型
.程序集变量 客户信息, 文本型
.子程序 __启动窗口_创建完毕
.局部变量 i
' 虽然很简单,但是可以实现最基本的功能,也可以当代理服务器用哦
ip1 = 取本机IP ()
.如果 (取数组成员数 (ip1) = 2)
ip框1.内容 = ip1 [2]
.否则
ip框1.内容 = ip1 [1]
.如果结束
ip框2.内容 = ip框1.内容
.子程序 _按钮1_被单击
.如果真 (按钮1.标题 = “启动映射”)
服务器1.端口 = 到数值 (端口框1.内容)
标记 = “映射”
按钮1.标题 = “停止映射”
返回 ()
.如果真结束
按钮1.标题 = “启动映射”
服务器1.端口 = 0
.子程序 _服务器1_客户进入
客户信息 = 服务器1.取回客户 ()
客户1.连接 (ip框2.内容, 到数值 (端口框2.内容))
.子程序 _服务器1_数据到达
客户1.发送数据 (服务器1.取回数据 ())
.子程序 _客户1_数据到达
服务器1.发送数据 (客户信息, 客户1.取回数据 (), )
.子程序 _客户1_连接断开
服务器1.断开客户 (客户信息)
.子程序 _按钮3_被单击
结束 ()
.子程序 _按钮2_被单击
信息框 (“这个是最简单的端口映射程序” + #换行符 + #换行符 + 取空白文本 (12) + “近在眼前出品” + #换行符 + 取空白文本 (14) + “2005.0.12”, #信息图标, “关于程序:”)
0条大神的评论