NutzCN Logo
问答 请教 WebSocket HttpSession为空
发布于 1732天前 作者 Veev 2733 次浏览 复制 上一个帖子 下一个帖子
标签:

握手的时候拿到的session就是null了.

public void modifyHandshake(ServerEndpointConfig sec,
                                HandshakeRequest request,
                                HandshakeResponse response) {
        super.modifyHandshake(sec, request, response);
        javax.servlet.http.HttpSession session = (javax.servlet.http.HttpSession) request.getHttpSession();
        // 这里的 session 是空
        if (session != null)
            sec.getUserProperties().put("HttpSession", session);
    }

前端建立WebSocket连接的代码

// 这个url是这样  ws://192.168.4.139:8081/mws
this.ws = new WebSocket(this.url);

浏览器访问页面是通过ip访问的.
不知道是哪里出了问题

8 回复

那就是没有session嘛,同一url下的http也会没有

http带session之后,websocket才能拿到

http有, 本地的经过vue-cli代理, 服务器上nginx转发的.

http的session是 org.eclipse.jetty.server.session.Session, 用shiro也一样, http有session, websocket没有

访问url头一样?

ip一样 http:// ws://
http经过转发, ws没有

刚刚从NutzBoot下载了一个纯净的demo工程, 一样的问题, jetty容器的, HTTP有session, websocket没有.

要完全一样的域名/端口,才能共享httpSession

添加回复
请先登陆
回到顶部