Я пытался создать среду разработки для германцев, чтобы все работало локально, например, на одном компьютере в поезде без интернета.Я создал эту минимальную страницу «Hello World», которая пытается создать соединение WebRTC между двумя вещами на одной странице («создатель» и «объединитель»).Таким образом, сервер сигнализации отключается, и шаги могут быть показаны в одном синхронном журнале.Однако я не получаю обратные вызовы, ожидаемые, когда мой компьютер отключен.
<code><!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Offline WebRTC</title>
<style>
html, body {padding:0;margin:0;height:100%}
body {box-sizing:border-box;padding:50px 0 0px;color:#ccc;background-color:#303030;}
h1 {position:fixed;margin:0;line-height:50px;padding:0 15px;top:0;left:0;font-size:18px;width:100%;box-sizing:border-box}
</style>
</head>
<body>
<h1>Why does this WebRTC work online but not offline?</h1>
<pre id="log">
dataChannel.onmessage = (e) => {log («Полученное сообщение:» + e.data);} log ('Создание предложения ...');pc.createOffer (). then ((e) => {log ('настройка локального описания'); pc.setLocalDescription (e);});};createOffer ();}) ();
Для воспроизведения:
- При подключении к Интернету откройте этот файл .html локально (должен иметь URL
file://...
)сервер не требуется) - Обратите внимание, что он работает правильно (должен получить
PONG: Hello World!
) - Отключить компьютер от Интернета
- Обновить страницу
- Обратите внимание, что это не происходит после
iceConnectionState changed to "checking"
Дополнительная информация:
- Отключение моего компьютера от Интернета оказывает на это другое влияние по сравнению сфлажок "offline" на вкладке сети Chrome Devtools.Установка этого флажка не влияет на возможность установления соединения.
Поэтому мой главный вопрос: как я могу открыть локальное соединение WebRTC, когда мой компьютер отключен?
Дополнительновопросы: я предполагаю, что браузер пытается общаться с кем-то в фоновом режиме, как часть шага проверки или подключения.С кем он пытается поговорить?Почему эти запросы не отображаются на вкладке сети devtools?