对于nutz提供的websocket中的Room,不太明白,请问如何实现群聊?
加入房间,然后发消息到房间
登陆后就加入房间么? 单聊也是群聊的概念吗?
不是哦,发送join才进入特定房间哦
后台维护的房间都是公共的么?还是每个header都有单独自己的房间?
仔细看SimpleWsHandler的onMessage, 没有权限, 需要权限就自行扩展一下
每个header不是代表一个连接么,每个header里面都有个
protected Set<String> rooms; protected WsRoomProvider roomProvider;
是不是每个连接都只能访问/维护到自己的rooms?
AbstractWsHandler的rooms属性是记录当前WebSocket链接已经加入的房间
那所有的房间存在哪里? 所有的房间应该是每个连接都能访问到的吧?
按我的理解,应该搞成static存储啊....
总的房间,在WsRoomProvider实例里面哦
AbstractWsHandler的roomProvider属性
WsRoomProvider的实例 是不是在我的项目中只有一份?存储着所有房间以及对应房间的所有连接?
是的
你这么说我就懂了,非常感谢. 第一次看源码,对于这个设计的确有点摸不着头脑