websocket failed: Error during WebSocket handshake: Unexpected response code: 200


websocket+spring整合,不能訪問,

解讀源碼:

原因:websocket_username=null,導致空異常

解決:給websocket session 添加用戶名

//握手前,讀取用戶名,並賦值給websocket的session
    @Override
    public boolean beforeHandshake(ServerHttpRequest request,
            ServerHttpResponse response, WebSocketHandler handler,
            Map<String, Object> attr) throws Exception {        
         if (request instanceof ServletServerHttpRequest) {
                ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) request;
                HttpSession session = servletRequest.getServletRequest().getSession(false);
                if (session != null) {
                    String userName = (String) session.getAttribute(Constants.SESSION_USERNAME);
                    if(userName == null){
                        userName = "WEBSOCKET_USERNAME_IS_NULL"; }
                    attr.put(Constants.WEBSOCKET_USERNAME,userName);
                }
            }
        return true;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM