Ошибка подключения WebSocket к «пути»JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Ошибка подключения WebSocket к «пути»

Сообщение Гость »


Я пишу приложение Spring Boot. Предполагается, что это простое приложение веб-сокета. Его цель — получить строку от клиента и отправить ее обратно. Я получаю сообщение «Подключение WebSocket к 'ws://localhost:8080/application/wsAddress' не удалось:» на стороне клиента. Вот pom-файл:

4.0.0 com.application приложение 0.0.1-SNAPSHOT война приложение Maven Webapp http://www.example.com UTF-8 1.7 1.7 org.springframework.boot spring-boot-starter-websocket 3.2.0 org.springframework spring-messaging 6.1.1 org.json json 20140107 приложение maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 плагин-компилятора maven 3.8.0 плагин-maven-surefire 2.22.1 maven-war-плагин 3.2.2 maven-install-плагин 2.5.2 maven-deploy-plugin 2.8.2 org.springframework.boot spring-boot-maven-plugin Я создал собственный обработчик — пример Java-файла WebSocketConfigurer для обработки сообщения. Его содержание ниже:

пакет application.websocketisleyici; импортировать org.json.JSONObject; импортировать org.springframework.web.socket.TextMessage; импортировать org.springframework.web.socket.WebSocketSession; импортировать org.springframework.web.socket.handler.TextWebSocketHandler; публичный класс SampleTextWebSocketHandler расширяет TextWebSocketHandler { @Override protected void handleTextMessage (сеанс WebSocketSession, сообщение TextMessage) выдает исключение { Строковая полезная нагрузка = message.getPayload(); JSONObject jsonObject = новый JSONObject (полезная нагрузка); Строитель StringBuilder = новый StringBuilder(); builder.append("From Myserver-").append("Ваше сообщение:").append(jsonObject.get("clientMessage")); session.sendMessage(new TextMessage(builder.toString())); } } Вот содержимое конфигуратора. Он настраивает SampleTextWebSocketHandler в приложении Spring:

пакет application.duzenleyici; импортировать org.springframework.context.annotation.Bean; импортировать org.springframework.context.annotation.Configuration; импортировать org.springframework.web.socket.WebSocketHandler; импортировать org.springframework.web.socket.config.annotation.EnableWebSocket; импортировать org.springframework.web.socket.config.annotation.WebSocketConfigurer; импортировать org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; импортировать application.websocketisleyici.SampleTextWebSocketHandler; @Конфигурация @EnableWebSocket общественный класс SampleEhoWebSocketConfigurer { @Бин WebSocketConfigurer webSocketConfigurer (окончательный WebSocketHandler webSocketHandler) { вернуть новый WebSocketConfigurer() { @Override public void RegisterWebSocketHandlers (реестр WebSocketHandlerRegistry) { реестр.addHandler(новый SampleTextWebSocketHandler(), "/path/wsAddress"); } }; } @Бин WebSocketHandler createSampleTextWebSocketHandler() { вернуть новый SampleTextWebSocketHandler(); } } Вот содержимое начального Java-класса. Он запускает приложение Spring:

пакет application.duzenleyici; импортировать org.springframework.boot.SpringApplication; импортировать org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication общественный класс EchoWebSocketBootApplication { public static void main(String[] args) { SpringApplication.run(EchoWebSocketBootApplication.class, args); } } Вот файл JSP. При инициализации все работает гладко:

Привет, мир! Введите сообщение и нажмите, чтобы отправить:


Отправить функция onClickButton() { document.getElementById("resultDiv").innerHTML = "работает"; openWebSocket(); sendMyClientMessage(); } функция openWebSocket() { //это тот момент, когда я получаю ошибку: ws = новый WebSocket("ws://localhost:8080/application/wsAddress"); ws.onmessage = функция (событие) { renderServerReturnedData(event.data); }; ws.onerror = функция (событие) { $('#resultDiv').html(событие); }; } функция sendMyClientMessage() { var myText = document.getElementById("idTextArea1").innerHTML; пусть случайное число = Math.random(); var message = JSON.stringify({ 'clientName': 'Client-' + случайное число, 'clientMessage': мойтекст }); ws.onopen = () => ws.send(сообщение); //ws.send(сообщение); document.getElementById('idTextArea1').value = ''; } Кандидаты на проверенное решение

1- Я попробовал эту строку, но она не удалась: ws = new WebSocket("ws://127.0.0.1:8080/application/wsAddress");

2- Я попробовал эту строку, но она не удалась: ws = new WebSocket("ws://mp ip adress:8080/application/wsAddress");

3- Я попробовал эту строку, но она не удалась: ws = new WebSocket("wss://localhost:8080/application/wsAddress");

Заранее спасибо
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»