源码调用了易语言扩展界面支持库,使用易语言服务器组件实现了Telnet服务端应用。
@爱三叶资源网源码.版本 2
.支持库 iext
.程序集 窗口程序集1
.程序集变量 telnet客户, telnet客户, , "0"
.子程序 _服务器1_客户进入
.局部变量 临时_telnet客户, telnet客户
临时_telnet客户.地址 = 服务器1.取回客户 ()
加入成员 (telnet客户, 临时_telnet客户)
服务器1.发送数据 (服务器1.取回客户 (), 到字节集 (编辑框1.内容 + #换行符), )
服务器1.发送数据 (服务器1.取回客户 (), 到字节集 (“用户名:”), )
.子程序 _服务器1_数据到达
.局部变量 用户组ID, 整数型
.局部变量 来数据客户, 文本型
.局部变量 数据, 字节集
.局部变量 i, 整数型
.局部变量 temp, 整数型
.局部变量 temp2, 整数型
.局部变量 命令, 文本型
来数据客户 = 服务器1.取回客户 ()
数据 = 服务器1.取回数据 ()
.计次循环首 (取数组成员数 (telnet客户), i)
.如果真 (telnet客户 [i].地址 = 来数据客户)
用户组ID = i
跳出循环 ()
.如果真结束
' 三叶资源网(www.sanye.cx)
.计次循环尾 ()
.如果真 (数据 = { 8 })
返回 ()
.如果真结束
.如果真 (数据 = { 13, 10 })
.如果真 (telnet客户 [用户组ID].是否验证通过 = 假)
.判断开始 (telnet客户 [用户组ID].是否输入用户名 = 假)
列表框1.加入项目 (“得到用户名:” + telnet客户 [用户组ID].命令, )
temp = 验证用户名 (telnet客户 [用户组ID].命令)
.如果真 (temp = -1)
服务器1.发送数据 (服务器1.取回客户 (), 到字节集 (“输入用户名错误请重新输入” + #换行符 + “用户名:”), )
telnet客户 [用户组ID].命令 = “”
返回 ()
.如果真结束
telnet客户 [用户组ID].用户名 = temp
telnet客户 [用户组ID].是否输入用户名 = 真
telnet客户 [用户组ID].命令 = “”
服务器1.发送数据 (服务器1.取回客户 (), 到字节集 (“密码:”), )
.判断 (telnet客户 [用户组ID].是否输入密码 = 假)
列表框1.加入项目 (“得到密码:” + telnet客户 [用户组ID].命令, )
.如果 (验证密码 (telnet客户 [用户组ID].用户名, telnet客户 [用户组ID].命令) = 真)
telnet客户 [用户组ID].是否验证通过 = 真
telnet客户 [用户组ID].是否输入密码 = 真
服务器1.发送数据 (服务器1.取回客户 (), 到字节集 (“成功登入您的权限是:” + 超级列表框1.取标题 (telnet客户 [用户组ID].用户名, 2) + #换行符), )
' 上面这条可以发送以下登入成功后的信息!
telnet客户 [用户组ID].名称 = 超级列表框1.取标题 (telnet客户 [用户组ID].用户名, 1)
返回命令 (服务器1.取回客户 (), telnet客户 [用户组ID].名称)
temp2 = 超级列表框2.插入表项 (, 到文本 (超级列表框2.取表项数 ()), , , , )
超级列表框2.置标题 (temp2, 1, 服务器1.取回客户 ())
超级列表框2.置标题 (temp2, 2, 超级列表框1.取标题 (telnet客户 [用户组ID].用户名, 0))
超级列表框2.置标题 (temp2, 3, 超级列表框1.取标题 (telnet客户 [用户组ID].用户名, 1))
超级列表框2.置标题 (temp2, 4, 超级列表框1.取标题 (telnet客户 [用户组ID].用户名, 2))
' 三叶资源网(www.sanye.cx)
telnet客户 [用户组ID].命令 = “”
.否则
telnet客户 [用户组ID].是否输入用户名 = 假
telnet客户 [用户组ID].命令 = “”
服务器1.发送数据 (服务器1.取回客户 (), 到字节集 (“输入信息错误请重新输入” + #换行符 + “用户名:”), )
.如果结束
.默认
.判断结束
返回 ()
.如果真结束
命令 = telnet客户 [用户组ID].命令
列表框1.加入项目 (“得到命令:” + 命令, )
telnet客户 [用户组ID].命令 = “”
.如果真 (命令 = “hlep”) ' 再这个后面接着各种分析自己的命令和参数就可以了!~~~~~~
服务器1.发送数据 (服务器1.取回客户 (), 到字节集 (“ shutdown 关机命令 跟参数 秒” + #换行符), )
.如果真结束
返回命令 (服务器1.取回客户 (), telnet客户 [用户组ID].名称)
返回 ()
.如果真结束
telnet客户 [用户组ID].命令 = telnet客户 [用户组ID].命令 + 到文本 (数据)
.子程序 __启动窗口_创建完毕
.局部变量 temp, 整数型
temp = 超级列表框1.插入表项 (, “user”, , , , )
超级列表框1.置标题 (temp, 1, “user”)
超级列表框1.置标题 (temp, 2, “1”)
temp = 超级列表框1.插入表项 (, “admin”, , , , )
超级列表框1.置标题 (temp, 1, “admin”)
超级列表框1.置标题 (temp, 2, “2”)
temp = 超级列表框1.插入表项 (, “super”, , , , )
超级列表框1.置标题 (temp, 1, “super”)
超级列表框1.置标题 (temp, 2, “3”)
' 三叶资源网(www.sanye.cx)
.子程序 验证用户名, 整数型
.参数 用户名, 文本型
.局部变量 i, 整数型
.计次循环首 (超级列表框1.取表项数 (), i)
.如果真 (超级列表框1.取标题 (i - 1, 0) = 用户名)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真 (超级列表框1.取标题 (i - 1, 0) = 用户名)
返回 (i - 1)
.如果真结束
返回 (-1)
.子程序 验证密码, 逻辑型
.参数 用户名ID, 整数型
.参数 密码, 文本型
.如果真 (超级列表框1.取标题 (用户名ID, 1) = 密码)
返回 (真)
.如果真结束
返回 (假)
.子程序 验证用户, 逻辑型
.参数 用户名, 文本型
.参数 密码, 文本型
' 三叶资源网(www.sanye.cx)
.子程序 返回命令
.参数 用户, 文本型
.参数 名称, 文本型
服务器1.发送数据 (用户, 到字节集 (名称 + “@:”), )
.子程序 __启动窗口_将被销毁
.子程序 _服务器1_客户离开
.局部变量 i, 整数型
.计次循环首 (取数组成员数 (telnet客户), i)
.如果真 (telnet客户 [i].地址 = 服务器1.取回客户 ())
删除成员 (telnet客户, i, )
跳出循环 ()
.如果真结束
' 三叶资源网(www.sanye.cx)
.计次循环尾 ()
.计次循环首 (超级列表框2.取表项数 (), i)
.如果真 (超级列表框2.取标题 (i - 1, 1) = 服务器1.取回客户 ())
超级列表框2.删除表项 (i - 1)
跳出循环 ()
.如果真结束
.计次循环尾 ()
文件下载
解压密码:
来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575)
原文链接:https://blog.csdn.net/weixin_42466518/article/details/117207388?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167042854316800192239058%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=167042854316800192239058&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-27-117207388-null-null.nonecase&utm_term=%E6%98%93%E8%AF%AD%E8%A8%80%E6%BA%90%E7%A0%81