Как отправить сообщение из не веб-java-приложения в угловое приложение через websocket? - PullRequest
0 голосов
/ 28 декабря 2018

Я создаю веб-панель мониторинга, используя angular для запуска теста автоматизации нашего приложения, и я хочу показать журналы, сгенерированные во время выполнения теста, в режиме реального времени.Проблема в том, что я не могу соединить сервер websocket в кодовой базе автоматизации с клиентом в угловой приборной панели.Я погуглил мою проблему, но нашел только пример, где и клиент, и сервер имеют веб-интерфейс.Надеюсь, что кто-то может указать мне правильное направление для достижения того, что я пытаюсь сделать.

В основном я пытаюсь отправить журналы, созданные из теста, в угловое приложение, используя websocket.

Обновление:

Я нашел способ подключения к javascript, но теперь я получаю Error in connection establishment: net::ERR_CONNECTION_REFUSED ошибку.

Вот мой код настройки:

WebSocket Server(Тестовый сценарий):

public class TestStepBroadcaster {
ServerSocket sersock;
Socket sock;
OutputStream ostream;
BufferedWriter bw1;
PrintWriter pwrite;

     public TestStepBroadcaster()  {
           try {
                sersock = new ServerSocket(3002);
                sock = sersock.accept();
                ostream = sock.getOutputStream();
             } catch (Exception e) {
               e.printStackTrace();
             }
           pwrite = new PrintWriter(ostream, true);
     }
   // method that we call from client code to send message
     public void broadcast(String message) throws IOException {
           pwrite.println(message);
           pwrite.flush();
     }

     public void close() throws IOException {
         bw1.close();
         ostream.close();
         sock.close();
         sersock.close();
     }
}

WebSocket Client (Angular App):

export class AppComponent implements OnInit {
     title = 'my-dream-app';
     websocet: WebSocket;

     constructor(private channel: ChannelService) {
        console.log('from app constructor')
       // this.websocet = new WebSocket('ws://echo.websocket.org');
        this.websocet = new WebSocket('ws://127.0.0.1:3002');

        this.websocet.onmessage = function (event) {
            console.log(event.data);
        };
        this.websocet.onopen = function (evt) {
            console.log("onopen.");
        };
        this.websocet.onclose = function (evt) {
         console.log("onclose.");
        };
        this.websocet.onerror = function (evt) {
         console.log("Error!");
      };
  }
  ngOnInit(): void {
      this.channel.data.set('isLoggedIn', false);
  }
}

Итак, теперь мой вопрос: в чем может быть причина отказа в соединении?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...