栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

网络多线程——多用户即时通信系统(6)——设计可登录用户集合

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

网络多线程——多用户即时通信系统(6)——设计可登录用户集合

启动多个客户端:



在 QQServer 中创建一个集合,存放多个用户,如果是这些用户登录,就认为是合法的


// 创建一个集合,存放多个用户,如果是这些用户登录,就认为是合法的
    // HashMap 没有处理线程安全,因此在多线程下是不安全的
    // ConcurrentHashMap 实现了同步处理,多线程下是安全的
    // private static HashMap validUsers = new HashMap<>();
    private static ConcurrentHashMap validUsers = new ConcurrentHashMap<>();

    static {
        validUsers.put("Gin", new User("Gin", "123"));
        validUsers.put("Vodka", new User("Vodka", "123"));
        validUsers.put("Sherry", new User("Sherry", "123"));
        validUsers.put("Vermouth", new User("Vermouth", "123"));
        validUsers.put("Rum", new User("Rum", "123"));
        validUsers.put("Bourbon", new User("Bourbon", "123"));
    }

    // 验证用户是否合法
    private boolean checkUser(String userId, String passwd){
        User user = validUsers.get(userId);
        // 用户 id 不存在
        if(user == null){
            return false;
        }
        // 用户 id 存在,密码错误
        if(!user.getPasswd().equals(passwd)){
            return false;
        }
        // id,密码都正确
        return true;
    }


启动服务端,再启动两个客户端进行验证



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324900.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号