精易论坛

标题: 发一个我的网络验证关于异地多开去token的代码 [打印本页]

作者: shituo    时间: 2024-6-30 03:44
标题: 发一个我的网络验证关于异地多开去token的代码
  
子程序名返回值类型公开备 注
取用户令牌_V1文本型 
参数名类 型参考可空数组备 注
机器码文本型
注册码文本型
当前时间戳整数型
多开数 
变量名类 型静态数组备 注
token文本型 
jsonjson对象 
_json文本文本型 
当前多开数  
间隔  
机器码列表整数型0
i整数型 
是否删除逻辑型 
如果真 (用户在线表.containsKey (机器码))  ' TOKEN  存在
token = 用户在线表.getString (机器码)  ' 首次生成
如果真 (token是否有效 (token, 当前时间戳))
用户在线表.removeValueForKey (机器码)
用户在线表.removeValueForKey (token)
返回 (“”)

如果真 (多开数 > 1 注册码 ≠ “”)  ' 多用户  异地多开
' 暂时 不用这个功能 先放一放
多开机器码列表 = 用户在线表.getString (注册码)
判断 (json.解析 (多开机器码列表))  ' json
json.对象_枚举初始化 ()
json.对象_枚举 (机器码列表)
当前多开数 = 取数组成员数 (机器码列表)
计次循环首 (当前多开数, i)  ' 清理到期的
token = json.取文本 (机器码列表 [i])
如果真 (token是否有效 (token, 当前时间戳))
当前多开数 = 当前多开数 - 1
json.删除 (机器码列表 [i])
用户在线表.removeValueForKey (机器码列表 [i])  ' 机器码
用户在线表.removeValueForKey (token)  ' token
是否删除 = 真

计次循环尾 ()
_json文本 = json.取数据文本 ()
如果 (当前多开数 ≥ 多开数)  ' 满了
如果真 (是否删除)
用户在线表.setString (注册码, _json文本)
返回 (“”)
判断 (文本_是否存在 (_json文本, 机器码))
json.置文本 (机器码, token)
用户在线表.setString (注册码, json.取数据文本 ())




json.置文本 (机器码, token)
用户在线表.setString (注册码, json.取数据文本 ())
' ====================================================================

返回 (token)
返回 (“”)


我的验证是单码的 这次的设计思路是利用 注册码的唯一性 来设置一个键,值为  json 存储着所有的机器码 以及对应的 token

大家觉得我的思路如何 还有优化的空间否?

作者: 笨来无一悟    时间: 2024-6-30 12:29
功德无量个人感觉哈 能优化的地方估计在 JSON这儿 多找几个不同的JSON解析模块测试测试 看看你的应用场景哪个JSON的性能表现最好
作者: shituo    时间: 2024-6-30 14:17
笨来无一悟 发表于 2024-6-30 12:29
功德无量个人感觉哈 能优化的地方估计在 JSON这儿 多找几个不同的JSON解析模块测试测试 看看你的 ...

用的性能最强的YYJSON




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4