unity学习(21)——客户端与服务器合力完成注册功能(3)用字典存储账号密码

public void reg(Session session, SocketModel model)
{
  LoginDTO loginDto = Coding<LoginDTO>.decode(model.Message);
  if(loginDto.userName.Length<=17&& loginDto.passWord.Length<=17)
  {
       bool v = BizUtil.account.create(loginDto.userName, loginDto.passWord);//bool代表注册成功或者失败
       session.write(0, 0, 3, (object)new BoolDTO(v));//这个session还需要单独拿时间来学
  }
}

0.最简单的一句 session.write(0, 0, 3, (object)new BoolDTO(v));

这句往session中的List队列中写入了一个消息,就是最早的SocketModel格式的,最后的message就一个bool值,代表最终的注册结果成功与否

1.首先知道注册信息写到什么地方去了,先进create函数

public bool create(string userName, string password)
{
    if (this.accounts.ContainsKey(userName))
    {
        Console.WriteLine("注册失败");
        return false;
    }
  AccountModel accountModel = new AccountModel(Guid.NewGuid().ToString(), userName, password);
  return this.accounts.TryAdd(userName, accountModel);
}

2.然后,this.accounts.ContainsKey(userName)的结果代表用户名是否重复,所以其中自然有如何读取,进而判定用户名重复的内容。

先从accounts的定义入手,private ConcurrentDictionary<string, AccountModel> accounts = new ConcurrentDictionary<string, AccountModel>();

accounts是个字典,键是string代表用户名,值是AccountModel结构体

ContainsKey函数是C#中的Dictionary方法,用于检查Dictionary中是否存在键

如果键(用户名)已经存在,则注册失败,不存在,则通过以下代码新建一个值

AccountModel accountModel = new AccountModel(Guid.NewGuid().ToString(), userName, password);

再把用户名和这个值加入字典

 return this.accounts.TryAdd(userName, accountModel);

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-19 09:48:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-19 09:48:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-19 09:48:03       87 阅读
  4. Python语言-面向对象

    2024-02-19 09:48:03       96 阅读

热门阅读

  1. ansible

    ansible

    2024-02-19 09:48:03      48 阅读
  2. 低代码开发:助力企业迈向智能化未来

    2024-02-19 09:48:03       60 阅读
  3. C++的虚函数和纯虚函数的功能是什么

    2024-02-19 09:48:03       54 阅读
  4. docker修改工作目录

    2024-02-19 09:48:03       57 阅读
  5. MVCC简记

    2024-02-19 09:48:03       58 阅读
  6. 【nginx实践连载-4】彻底卸载Nginx(Ubuntu)

    2024-02-19 09:48:03       55 阅读
  7. Python内置函数05——filter

    2024-02-19 09:48:03       46 阅读
  8. pytorch导出为onnx,使用onnxruntime进行推理

    2024-02-19 09:48:03       41 阅读