0

Ошибка подключения WebSocket: net::ERR_CONNECTION_REFUSED

1

Я следую инструкциям по созданию демо-проекта с использованием WebRTC, но не могу установить соединение WebSocket, даже выполняя все шаги, указанные в руководстве.

В проекте, который я изучаю, используется порт 8080 и указано "ws://localhost:9090". В моем проекте используется порт 8081. Я скопировал URL "ws://localhost:9090" из руководства, так как не знал о значении 9090, и получил следующую ошибку:

WebSocket connection to 'ws://localhost:9090/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED.

Я также пробовал изменить localhost на 8081, но тогда получаю ошибку при установлении handshake.

Мой сервер написан на Node.js.

5 ответ(ов)

0

Chrome не позволяет устанавливать небезопасные соединения WebSocket (ws) к localhost (только wss), поэтому вам нужно настроить TLS-сертификат для вашего локального веб-сервера/веб-сокета. Однако это должно работать корректно в Firefox.

0

Вам нужно использовать ws://вашIP:9090/, где вашIP имеет формат, например, 192.168.?.?.

0

Это, похоже, общая проблема с веб-сокетами.

Измените URL на динамическое имя, используя встроенную переменную location.host, и измените протокол на безопасный веб-сокет wss, если вы настроили TLS:

const ws = new WebSocket("wss://" + location.host + "/");
0

WebRTC обычно требует защищенное соединение (т.е. https). Ошибка, которую вы получили, вызвана проблемами с сертификатами TLS/SSL, возможно, они неправильно настроены в вашем проекте. Убедитесь, что у вас есть действующий сертификат TLS/SSL и что он правильно сконфигурирован в вашем проекте. После этого ваше приложение должно работать без указанной ошибки.

0

Вы также можете легко изменить сопоставления IP-адресов с именами хостов. На Windows перейдите в C:\Windows\System32\drivers\etc\hosts и раскомментируйте следующую строку:

127.0.0.1       localhost

Сохраните изменения и перезагрузите компьютер.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь