未调用handleframe

8ljdwjyq  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(234)

我将websockets用于项目的交互部分,但我似乎无法在客户端接收来自服务器的消息。
我在主文件中的新线程上启动websocket:

public void run()
  {         
    StandardWebSocketClient client = new StandardWebSocketClient();
    WebSocketStompClient stompClient = new WebSocketStompClient(client);              

    stompClient.setMessageConverter(new MappingJackson2MessageConverter());          

    sessionHandler = new MyMessageHandlerClass();                  

    ((MyMessageHandlerClass) sessionHandler).setLocalID(localID);                 

    stompClient.connect("url/endpoint", sessionHandler); 
    }

我的mymessagehandlerclass扩展了stompsessionhandleradapter,它有handleframemethod和subscribe方法:

@Override
    public void handleFrame(StompHeaders headers, Object payload) {
        System.out.println("handleFrame: ");
        if (headers.getDestination().contains("thisEndPoint")) {
            System.out.println("message");
            //logic
        }
        //more logic
    }

    public void subscribe(String endpoint){
        session.subscribe(endpoint, this);
        System.out.println("log");
    }

(我简化了一些代码)
我的问题是,虽然服务器接收消息,而服务器将客户机消息发送到正确的端点,但我的客户机似乎没有接收到消息。
据我所知,handleframe应该在每次收到信息时自动调用,我似乎找不到任何方法来“激活监听”或类似的东西

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题