谁用了我的宇宙大魔王 2016-12-01 04:56 采纳率: 100%
浏览 3531
已结题

springMVC中使用websocket报错404

图片说明

似乎是springmvc拦截了ws请求,怎么才能让springMVC不拦截WS呢

JS代码

   var websocket = null; 
  //判断当前浏览器是否支持WebSocket
  if('WebSocket' in window){
     websocket = new WebSocket("ws://localhost:8080/VM2.0/websocket");
  }
  else{
      alert('浏览器不支持websocket,请更换浏览器');
  };

  //连接发生错误的回调方法
  websocket.onerror = function(){
      console.log("websocket连接失败");
  };

  //连接成功建立的回调方法
  websocket.onopen = function(event){
      console.log("websocket连接成功");
  };

java代码

 //静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。
    private static int onlineCount = 0;
    //concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。若要实现服务端与单一客户端通信的话,可以使用Map来存放,其中Key可以为用户标识
    private static CopyOnWriteArraySet<MySocket> webSocketSet = new CopyOnWriteArraySet<MySocket>();
    //与某个客户端的连接会话,需要通过它来给客户端发送数据
    private Session session;
    /**
     * 存储当前有效的session对象
     */
    private static Queue<Session> sessionSet = new ConcurrentLinkedQueue<Session>();
    /**
     * 连接建立成功调用的方法
     * @param session  可选的参数。session为与某个客户端的连接会话,需要通过它来给客户端发送数据
     */
    @OnOpen
    public void onOpen(Session currentSession){
        if(sessionSet.contains(currentSession) == false){
            sessionSet.add(currentSession);
            System.out.println("WebSocketTest.onOpen()================Add=" + sessionSet.size());
        }
        System.out.println("Server say:Client connected");

    }
  • 写回答

1条回答

  • AirMario 2016-12-01 05:51
    关注

    自己写个拦截器啊。放行websocket请求就行了啊

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题