WebSocket с ошибкой Java во время рукопожатия WebSocket: 404

Я использую webSocket с java 1.6 и HTML.

Это мой справочный пример

https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example

Когда я иду на http: // локальный: 8012 / sessionLink / byteslounge / page.html

ошибка 404 показана ниже

Соединение WebSocket с 'ws: // localhost: 8012 / sessionLink / websocket' не удалось: ошибка во время рукопожатия WebSocket: неожиданный код ответа: 404

Вот мой код

Сторона сервера

@ServerEndpoint("/websocket") 
public class WebSocketTest {

...

}

HTML

<script type = "text/javascript">
    var webSocket = 
    new WebSocket('ws://localhost:8012/sessionLink/websocket');   
    ...
 </script>

Я неправильно устанавливаю WebSocket?

localhost: порт / путь, заданный в tomcat / @ ServerEndpoint

если я попробую новый WebSocket ('ws: // localhost: 8012 / sessionLink / byteslounge'), ошибка будет 302

Angala Cheng 29.10.2018 08:37

Рукопожатие веб-сокета начинается с запроса GET. Вы можете сначала попытаться открыть URL-адрес ws://localhost:8012/sessionLink/websocket в своем браузере или что-то еще, чтобы убедиться, что URL-адрес доступен. Если нет, значит, ваш URL неверен. Поскольку /websocket соответствует значению @ServerEndpoint, ошибка может быть в sessionLink. В учебнике используется GlassFish с реализацией Tyrus. Согласно это вам понадобится Tomcat 7+, для которого требуется Java 7

Al-un 29.10.2018 14:00
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
153
1

Ответы 1

Попробуйте более позднюю версию jdk, java 1.6 или более ранняя версия не поддерживает веб-сокет.

даже я успешно импортировал websocket-api.jar ??

Angala Cheng 29.10.2018 08:55

Да, я столкнулся с той же проблемой, и ваш tomcat также должен быть Tomcat7.0.47 или новее.

萝莉w 29.10.2018 08:58

Другие вопросы по теме