spring boot使用websocket的坑

487 阅读1分钟

最近帮客户解决一个问题。项目用到了WebSocket,但是客户端发送给服务器的消息一直接收不到,根本就不会进入onMessage方法。

服务端代码

    /**
     * 收到客户端消息后调用的方法
     */
    @OnMessage
    public void onMessage(String message, Session session) {
        System.out.println("get client msg. ID:" + session.getId() + ". msg:" + message);
    }

看了客户端的代码,发过来的消息转成了字节数组。 只要把onMessage的第一个参数类型改成byte[]即可。

/**
 * 收到客户端字节数组后调用的方法
 */
@OnMessage
public void onMessage(byte[] message, Session session) {
    System.out.println("get client msg. ID:" + session.getId() + ". msg:" + message);
}