Согласно MOZILLA документации WebRTC ..
Handling состояние канала изменяется
Обе наши локальные и удаленные сверстники использовать один метод для обработки событий, указывающих на изменение в состоянии соединения канала.
Когда местный сверстников испытывает открытое или близкое событие, метод handleSendChannelStatusChange() называется:
function handleSendChannelStatusChange(event) {
if (sendChannel) {
var state = sendChannel.readyState;
if (state === "open") {
messageInputBox.disabled = false;
messageInputBox.focus();
sendButton.disabled = false;
disconnectButton.disabled = false;
connectButton.disabled = true;
} else {
messageInputBox.disabled = true;
sendButton.disabled = true;
connectButton.disabled = false;
disconnectButton.disabled = true;
}
}
}
Если состояние телеканала изменился на «открыть», что указывает, что мы завершили установление связи между двумя сверстниками. Пользовательский интерфейс обновляется соответствующим образом, предоставляя текстовое поле ввода для отправки сообщения, фокусируя поле ввода так, чтобы пользователь мог сразу начать вводить, позволяя кнопкам «Отправить» и «Отключить», теперь, когда они пригодны для использования, и отключение кнопки «Подключить», поскольку она не нужна, когда соединение открыто.
Если состояние изменилось на «закрыто», происходит противоположный набор действий: окно ввода и кнопка «Отправить» отключены, кнопка «Подключиться» включена, чтобы пользователь мог открыть новое соединение, если они хотите сделать это, и кнопка «Отключить» отключена, так как это не полезно, когда соединение отсутствует.
так пытаются играть с handleReceiveChannelStatusChange
Этот пример удаленного узла, с другой стороны, игнорирует события изменения состояния, для регистрации события на консоли, за исключением:
function handleReceiveChannelStatusChange(event) {
if (receiveChannel) {
console.log("Receive channel's status has changed to " +
receiveChannel.readyState);
}
}
The handleReceiveChannelStatusChange () принимает в качестве входного параметра событие, которое произошло; это будет RTCDataChannelEvent.
Просто выстрел в темноте: попробуйте сохранить SDP и ICE кандидатов и выполнить фазу сигнализации снова, но с сохраненными данными вместо фактической сигнализации. – Kevin
см. Здесь: https://www.webrtc-experiment.com/ –
можете ли вы разместить код, пожалуйста, –