Java websocket:如何从websocket客户端接收PongMessage并响应此消息

时间:2018-02-20 11:10:23

标签: java websocket java-ee-7 java-websocket

我正在尝试从Web套接字客户端向服务器发送PongMessage(您可能会说出心跳的消息)。

在服务器中,我在使用@ServerEndpoint注释的类中编写了这样的方法:

@OnMessage
        public void onPong(PongMessage pongMessage, Session session) {

          LOGGER.log(Level.INFO, " -- Got Hit Yaay!! -- ");

                try {
                    session.getBasicRemote().sendText(PONG_RECEIVED);
                } catch (IOException e) {
                    e.printStackTrace();
                }

        }

PongMessage根据oracle文档接受ByteBuffer。我尝试在服务器中生成一个bytebuffer,并从套接字客户端发送完全相同的生成的bytebuffer值。服务器仍然抛出一个异常,说它无法解码字符串

我无法点击onPong() method。客户端可以发送到websocket服务器的pongmessage是否有任何格式,以便调用onPong()方法?我在这做错了什么?有任何想法吗 ?

1 个答案:

答案 0 :(得分:1)

我找到了一个旧的post,浏览器应该处理Ping / Pong消息。如果仍然如此(我不确定),那么您应该转向“自定义”解决方案:不要使用PongMessage。接收你定义的一些JSON。