Хотя я относительно новичок в веб-сокетах, клиент моей среды разработки Angular-7 и сервер разработки узлов / экспрессов довольно успешно взаимодействуют с помощью WebSockets.
Проблема заключается в том, что при развертывании реальный сервербудет работать на портативном приборе, который сам может находиться на любом IP-адресе, введенном вручную на любой сети клиента.
Существует множество примеров использования Angular с WebSockets.Все они используют известные IP-адреса.Методы, которые я придерживаюсь, довольно просты.Основной код создания WebSocket показан ниже:
websocket.service.ts
constructor() {
this.socket$ = new WebSocketSubject(environment.wsUrl);
this.subscription$ = this.socket$
.subscribe(
(message) => this.processWebSocketMessage(message),
(err) => console.error(err),
() => console.warn('Connection closed')
);
}
environment.ts
export const environment = {
production: false,
wsUrl: 'ws://localhost:8999'
};
Моя проблема в том, что я не нашел примеров того, каким должно быть значение свойства wsUrl для производственной сборки ( environment.prod.ts ) для сервера с IP-адресом:неизвестно во время сборки.
Я сильно подозреваю, что мне здесь не хватает чего-то очень простого.Должен ли я определять IP-адрес сервера динамически?Все предложения приветствуются.