Добавление URI при подключении к WebSocket - клиентское приложение Java - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь разработать клиент Java для соединения с WebSocket, который включен на сервере.

Перед тем, как приступить к реализации, я прочитал RFC 6455 - Протокол WebSocket - IETF Tools docx,В разделах 11.1 и раздел 3 содержатся определения, как создавать URI и поведение URI.

Мои WRI URI и PORT: wss://xxxxxx-xxxxxx.maindomain.com/websocket:9050

Сервер настроен на использование URI и порта и работает с веб-клиентом.Но проблема возникает с клиентом Java.

Я пробовал следующие библиотеки:

  1. Такахико Кавасаки - nv-websocket-client
  2. crossbario - autobahn-java
  3. okhttp3 - WebSocket

HTTP-соединение установлено, и возвращается 200. Но для WebSocketответ на установление соединения - 101. Тогда я отлаживал, где произошла ошибка.

Перед отправкой запроса проверяется, доступен хост или нет, InetAddress.getByName(HOST_NAME).Этот класс InetAddress находится в дереве java.net.Все клиентские библиотеки Java используют этот InetAddress API для процесса.

В моем случае URI: wss://xxxxx-xxxxx.mainDomain.com/websocket

Каждая библиотека получает толькочасть хоста (xxxxx-xxxxx.mainDomain.com) для запроса.Тогда он получит 200, но не 101, потому что WebSocket установит соединение, если получит весь URI (xxxxx-xxxxx.mainDomain.com/websocket).Но класс InetAddress не допустит этого.

Мой вопрос: при определении URI WebSocket мы не можем использовать такие URI, как xxxxx-xxxxx.mainDomain.com/websocket ?.и что я должен сделать, чтобы это работало?

...