80,351
社区成员
发帖
与我相关
我的任务
分享
@Override
protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws Exception {
Pager pager = new Pager();
String username = (String) token.getPrincipal();
// 获取用户
User user = userService.getUserByUsername(username);
//将用户信息添加到session
Session session = subject.getSession();
session.setAttribute("user",user);
System.out.println(session.getId());
........
@OnOpen
public void onOpen(Session session,EndpointConfig config) {
httpSession = (HttpSession) config.getUserProperties().get(HttpSession.class.getName());
//TODO:PDA访问时Attributes中没有user对象
User user = (User)httpSession.getAttribute("user");
this.session = session;
this.userId = user.getId();
System.out.println("有用户连接了:"+userId);
webSocketMap.put(user.getId(), this);
........
我个人推荐直接使用第三方websocket 插件【GoEasy】,它文档齐全,上手简单。使用下来稳定性、实时性都很不错。