2463308417 发表于 2021-8-24 16:51:46

【2021.08.24】易语言学习打卡-服务器客户端网络验证学习笔记

本帖最后由 十万个为什么 于 2021-8-24 17:56 编辑

今天开始打卡记录一下自己学习的动态。
易语言学习了几天,基本的逻辑语法学起来很快。目前正在学易锦1091易语言post的视频,跟着视频学习到屏幕监控这一课了。
马上易语言基础部分就学习完成了,不过总感觉不是非常全面,只能说学了些用到的东西吧!
还有四五节课就开始post部分了,最近感觉自己越来越没有耐心去学习了,也许是天气炎热,
坐久了就枯燥想睡觉。为了勉励自己,所以从今天开始打卡学习。

今天跟着视频学了网络验证,下面分享一下自己的思路:
网络验证:
1.控制端生成卡密
2.把卡密卖给用户
3.用户在软件端进行登录
4.朝着控制端把卡密发送过去
5.控制端验证这张卡密,并返回信息
6.用户端判断返回的信息并决定是否进入软件界面

如何实现?
服务端放在服务器上,客户端生成给用户使用。
服务端生成卡密信息,保存到数据库。
客户端发送信息给服务端,服务端取客户发送的信息数据判断和数据库内数据是否相同

卡密:一连串不规则数组+字母组成的字符串
登录:通过网络传输把卡密发送到服务端
验证:将生成的卡密存储在数据库,等待登录后发送卡密过来进行验证
返回:服务器将验证的结果发送回客户端
判断:客户端判断对发送的结果进行判断
服务端-代码如下:
.版本 2
.支持库 Exmlrpc

.程序集 窗口程序集_窗口1
.程序集变量 服务端, 远程服务

.子程序 _窗口1_创建完毕

.判断开始 (服务端.启动 (8919, &处理函数, 假))
    标题 = “启动成功”
.默认
    标题 = “启动失败”
.判断结束

.判断开始 (打开 (“卡密数据库.edb”, , , , , , ))
    标题 = 标题 + “----数据库启动成功”
.默认
    标题 = 标题 + “----数据库启动失败”
.判断结束


.子程序 处理函数
.参数 消息地址, 整数型
.局部变量 消息类型, 整数型
.局部变量 请求代码, 文本型
.局部变量 请求信息, 字节集
.局部变量 数据库的卡密数组, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 现在的时间, 日期时间型
.局部变量 卡时间, 整数型

消息类型 = 服务端.取消息类型 (消息地址)
.判断开始 (消息类型 = 0)
    ' 链接
.判断 (消息类型 = 1)
    ' 断开
.判断 (消息类型 = 2)
    ' 收到消息
    服务端.取请求字节集 (消息地址, 请求代码, 请求信息)
    .计次循环首 (取记录数 (), i)
      跳到 (i)
      .判断开始 (读 (1) = 到文本 (请求信息))
            .判断开始 (读 (“到期时间”) = )
                现在的时间 = 取现行时间 ()
                卡时间 = 读 (“卡时间”)
                写 (“到期时间”, 增减时间 (现在的时间, #分钟, 卡时间))
                服务端.发送字节集 (请求代码, 到字节集 (“卡密正确”))
                跳出循环 ()
            .判断 (取时间间隔 (取现行时间 (), 读 (“到期时间”), #秒) ≥ 1)
                服务端.发送字节集 (请求代码, 到字节集 (“卡密到期”))
                跳出循环 ()
            .默认
                服务端.发送字节集 (请求代码, 到字节集 (“卡密正确”))
                跳出循环 ()
            .判断结束

      .默认

      .判断结束

    .计次循环尾 ()
.判断 (消息类型 = -1)
    ' 出错
.默认

.判断结束


.子程序 _按钮1_被单击
.局部变量 数字随机数, 文本型
.局部变量 小写字母随机数, 文本型
.局部变量 大写字母随机数, 文本型
.局部变量 位置随机数, 整数型
.局部变量 总卡密, 文本型
.局部变量 写出卡密, 文本型

.计次循环首 (到整数 (编辑框1.内容), )
    .计次循环首 (32, )
      置随机数种子 ()
      位置随机数 = 取随机数 (1, 3)
      .判断开始 (位置随机数 = 1)
            数字随机数 = 到文本 (取随机数 (0, 9))
            总卡密 = 总卡密 + 数字随机数
      .判断 (位置随机数 = 2)
            大写字母随机数 = 字符 (取随机数 (65, 90))
            总卡密 = 总卡密 + 大写字母随机数
      .判断 (位置随机数 = 3)
            小写字母随机数 = 字符 (取随机数 (97, 122))
            总卡密 = 总卡密 + 小写字母随机数
      .默认

      .判断结束

    .计次循环尾 ()
    加空记录 ()
    写 (“卡密”, 总卡密)
    写 (“卡时间”, 到整数 (编辑框2.内容))
    写出卡密 = 写出卡密 + 总卡密 + #换行符
    总卡密 = “”
.计次循环尾 ()
通用对话框1.打开 ()
写到文件 (通用对话框1.文件名, 到字节集 (写出卡密))

.子程序 _窗口1_将被销毁

关闭 (“卡密数据库.edb”)



客户端-代码如下:
.版本 2
.支持库 Exmlrpc
.支持库 spec

.程序集 窗口程序集_窗口1
.程序集变量 客户端, 请求客户端

.子程序 _窗口1_创建完毕

.判断开始 (客户端.连接 (8919, “127.0.0.1”, 真, &处理函数))' 真=tcp 准确性高
    标题 = “启动成功”
.默认
    标题 = “启动失败”
.判断结束


.子程序 处理函数
.参数 消息地址, 整数型
.局部变量 消息类型, 整数型
.局部变量 接收返回的结果, 字节集

消息类型 = 客户端.取消息类型 (消息地址)
.判断开始 (消息类型 = 0)
    ' 断开
.判断 (消息类型 = 1)
    ' 收到消息
.判断 (消息类型 = -1)
    ' 出错
.默认

.判断结束


.子程序 _按钮1_被单击
.局部变量 接收返回结果, 字节集
.局部变量 发送字节集返回值, 整数型

发送字节集返回值 = 客户端.同步发送字节集 (到字节集 (编辑框1.内容), 接收返回结果, 1000)
.判断开始 (到文本 (接收返回结果) = “卡密正确”)
    调试输出 (“登录成功”)
.默认
    信息框 (到文本 (接收返回结果), 0, , )
.判断结束




PS:如果有服务器,可以把服务端挂载服务器上,然后吧客户端连接的ip改成服务器ip就可以了。

18595475935 发表于 2021-8-25 17:25:31

加油啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

2463308417 发表于 2021-8-25 20:27:58

18595475935 发表于 2021-8-25 17:25
加油啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

一起加啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

mingming 发表于 2021-8-29 01:42:55

楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!

祝声 发表于 2021-8-30 15:59:33

6666666666666666666

cmcc11 发表于 2021-9-17 20:35:02

这个帖子不回对不起自己!我想我是一天也不能离开易语言吧。

小雷子 发表于 2021-10-27 20:15:48

这个帖子不回对不起自己!我想我是一天也不能离开易语言吧。

柴星宇 发表于 2021-11-9 16:40:43

楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!

清风如水 发表于 2021-11-16 20:12:09


楼主太厉害了!楼主,我爱你!我觉得易语言吧真是个好地方!

田磊 发表于 2021-11-17 18:14:15

楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!
页: [1] 2 3 4 5 6 7
查看完整版本: 【2021.08.24】易语言学习打卡-服务器客户端网络验证学习笔记