Соединение Spring Websocket закрывается автоматически по причине Неверный зарезервированный бит - PullRequest
0 голосов
/ 30 апреля 2019

Мой весенний код веб-сокета запускается на сервере Liberty. Код отлично работает на локальном. Когда я перехожу на свой сервер, когда я пытаюсь из 'Simple Websocket Client', я получаю сообщение об ошибке типа

Ошибка подключения WebSocket к 'wss: // url': один или несколько зарезервированных битов включены: зарезервировано1 = 0, зарезервировано2 = 1, зарезервировано3 = 1

В журналах на стороне сервера я вижу, что метод afterConnectionEstablished запускается, и немедленно запускается afterConnectionClosed, а когда я печатаю статус закрытия, он дает мне

Код 1002 Причина :: Неверный зарезервированный бит.

Не ясно, что это значит и по каким причинам это может происходить.

public class NotificationHandler extends TextWebSocketHandler {

    Logger logger = LogManager.getLogger(NotificationHandler.class);


    @Override
    public void afterConnectionEstablished(WebSocketSession session)
            throws IOException {
        logger.info("In NotificationHandler, afterConnectionEstablished.. ");
        session.sendMessage(new TextMessage("Hello !"));
    }

    @Override
    public void handleTextMessage(WebSocketSession session, TextMessage message) throws IOException {
        logger.info("In NotificationHandler, handleTextMessage.. ");
        session.sendMessage(new TextMessage("Hello Text Message!"));
    }

    @Override
    public void afterConnectionClosed(WebSocketSession session, CloseStatus status) {
        logger.info("In NotificationHandler, afterConnectionClosed, Code:: "+ status.getCode() + ".. Reason:: " + status.getReason());
    }

}

Пожалуйста, дайте мне знать, если вам нужно больше деталей.

1 Ответ

0 голосов
/ 30 апреля 2019

Учитывая точную формулировку, это не код причины, пришедший из кода Liberty Websocket, поэтому я предполагаю, что он исходит из кода Spring. Если вы работаете в Liberty, я думаю, вы захотите, чтобы система настроила использование кода Liberty Websocket, а не другого провайдера.

...