websocket 重复登录的问题

fanqieo 2020-09-03 10:26:13
private static final Map<String, WebSocketSession> users;
static {
users = new HashMap<>();
}
定义了用户列表
String 我们就用了车间号,区别不同的显示信息
当车间只有一个看板的时候没问题,当多个看板就不行了,应为房间号重复了
每次A先登录,在B登录,这时候B就会把A顶掉了,hashmap的key又不能重复,这时候只有B能接受到信息,A就不行了,有啥办法能解决吗?
...全文
1173 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_布鲁斯 2021-01-11
  • 打赏
  • 举报
回复
key定义为A+IP
fanqieo 2020-09-03
  • 打赏
  • 举报
回复
是的,这样就可以了
staton_ 2020-09-03
  • 打赏
  • 举报
回复
数据结构这样呢,第一层房间号,第二层车间号,或者第一层车间号,第二层房间号 <String, Map<String, WebSocketSession>> users;
fanqieo 2020-09-03
  • 打赏
  • 举报
回复
谢谢ConcurrentHashMap可以么
shuangmu9768 2020-09-03
  • 打赏
  • 举报
回复
map的key定义的复杂点,这样就不会重复了; 另外hashmap非线程安全的,操作时要加锁,或者使用线程安全的map。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧