admin 发表于 2024-2-3 22:02:14

【传递序号的作用】

本功能一般不需要用到,属于高级用法

dll接口中有一个传递序号的参数
.版本 2

.子程序 t, 文本型, 公开, 文本拓展接口
.参数 get数据, 文本型
.参数 post数据, 文本型
.参数 ip, 文本型
.参数 传递序号, 整数型
.参数 请求序号, 整数型
.局部变量 传入文本值, 文本型
.局部变量 返回文本值, 文本型



' 中间写运算代码
返回文本值 = “文本接口调用成功”
返回 (返回文本值)

.子程序 b, 文本型, 公开
.参数 get数据, 文本型
.参数 字节集地址, 整数型
.参数 字节集长度, 整数型
.参数 ip, 文本型
.参数 传递序号, 整数型
.参数 请求序号, 整数型
.局部变量 传入字节集, 字节集
.局部变量 返回字符串, 文本型

传入字节集 = 指针到字节集 (字节集地址, 字节集长度)' 这里得到的就是接收到的字节集

' 中间写运算代码
返回字符串 = 校验_取md5 (传入字节集)' 这是教程写的一个返回md5的功能,目的是检测传输是否丢包
返回 (返回字符串)



用法1:起到定位作用
比如我要写一个发放福利码的功能,福利码是提前放到数据库的,EWEB是多线程执行的,假如同时收到2个获取福利码的请求,那么有一定概率会取到同一条数据,一个福利码发个2个用户这是不合理的,但是传递序号确是唯一的(依次递增),可以依靠传递序号取出对应编号的福利码


用户2:起到唯一id作用
比如我要写一个数据存储功能,需要涉及到存储名称
这时可能会出现某个用户连续提交多次的情况,假设get数据,post数据都相同且dll收到数据的时间也刚好相同,那么存储时如何命名?
所以要引入一个传递序号,dll名称+子程序名称+传递序号+当前时间即可以得到一个不可能重复的基础数据段

重点:
①:假设多个DLL内存在相同名称的子程序名称,传递序号是分开统计的
②:传递序号可以更改

点击返回: 【EWEB总览】
页: [1]
查看完整版本: 【传递序号的作用】