Ошибка рукопожатия ответ не получен при подключении к веб-сокету из Java - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь создать клиент WebSocket с использованием Java. Мы получаем следующую ошибку в ответ на метод connectToServer. Кто-нибудь может помочь нам в этом?

javax.websocket.DeploymentException: ответ на рукопожатие не получен. на org.glassfish.tyrus.client.ClientManager.connectToServer (ClientManager.java:300) на org.glassfish.tyrus.client.ClientManager.connectToServer (ClientManager.java:172) в smartsense.wss.client.NewWebSocket. (NewWebSocket.java:22) в smartsense.wss.client.App.main (App.java:21)

Импорт, используемый в файле,

   import java.io.IOException;
   import java.net.URI;

   import javax.websocket.*;

исходный код

   try {
       WebSocketContainer container = ContainerProvider.getWebSocketContainer();
       session = container.connectToServer(this, new URI(uri));
   } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            if (session != null) {
                try {
                    session.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

зависимости в pom.xml

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>javax.websocket</groupId>
      <artifactId>javax.websocket-api</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
    </dependency>
    <dependency>
       <groupId>org.glassfish.tyrus</groupId>
       <artifactId>tyrus-client</artifactId>
       <version>1.1</version>
    </dependency>
    <dependency>
       <groupId>org.glassfish.tyrus</groupId>
       <artifactId>tyrus-container-grizzly</artifactId>
       <version>1.1</version>
    </dependency>
    <dependency>
       <groupId>javax.json</groupId>
       <artifactId>javax.json-api</artifactId>
       <version>1.0</version>
    </dependency>
    <dependency>
       <groupId>org.glassfish</groupId>
       <artifactId>javax.json</artifactId>
       <version>1.0.1</version>
    </dependency>   
  </dependencies>

EDIT Когда я пытался из сети нашей организации (за прокси-сервером), я получал только «javax.websocket.DeploymentException: Ответ рукопожатия не получен. at "error.

Но когда я попытался установить соединение с Интернетом, я вижу, что метод onClose также запускается, а затем - javax.websocket.DeploymentException: ответ на рукопожатие не получен. при "ошибке

Все еще застрял на том же месте, любая помощь высоко ценится. Или кто-нибудь может подсказать хорошую клиентскую библиотеку Java Web Socket?

...