Nach mozilla Dokumentation von WebRTC ..
Kanalstatus Handhabung ändert
Sowohl unsere lokalen und Remote-Peers eine einzige Methode verwenden, um Ereignisse zu handhaben eine Änderung des Status der Verbindung des Kanals angibt.
Wenn der lokale Peer ein Öffnen oder Schließen Ereignis erfährt, wird die handleSendChannelStatusChange() -Methode aufgerufen:
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;
}
}
}
Wenn der Zustand des Kanals hat sich geändert „offen“, das wir anzeigt haben die Verbindung zwischen den beiden Peers hergestellt. Die Benutzeroberfläche wird entsprechend aktualisiert, indem das Texteingabefeld für die zu sendende Nachricht aktiviert wird. Dabei wird das Eingabefeld so ausgerichtet, dass der Benutzer sofort mit dem Schreiben beginnen kann. Die Schaltflächen "Senden" und "Trennen" können jetzt verwendet werden. und deaktivieren Sie die Schaltfläche "Verbinden", da sie nicht benötigt wird, wenn die Verbindung geöffnet ist.
Wenn sich der Status zu "geschlossen" geändert hat, werden die folgenden Aktionen ausgeführt: Das Eingabefeld und die Schaltfläche "Senden" sind deaktiviert, die Schaltfläche "Verbinden" ist aktiviert, sodass der Benutzer eine neue Verbindung öffnen kann möchten, und die Schaltfläche "Disconnect" ist deaktiviert, da es nicht sinnvoll ist, wenn keine Verbindung besteht.
so versuchen, mit handleReceiveChannelStatusChange
Dieses Beispiel Remote-Peer, auf der anderen Seite zu spielen, ignoriert die Statusänderung Ereignisse, mit Ausnahme der Veranstaltung an die Konsole Anmeldung:
function handleReceiveChannelStatusChange(event) {
if (receiveChannel) {
console.log("Receive channel's status has changed to " +
receiveChannel.readyState);
}
}
The handleReceiveChannelStatusChange () Methode erhält als Eingabeparameter das aufgetretene Ereignis; Dies wird ein RTCDataChannelEvent sein.
Nur ein Versuch im Dunkeln: Versuchen Sie, die SDPs und ICE-Kandidaten zu speichern, und führen Sie die Signalisierungsphase erneut durch, jedoch mit den gespeicherten Daten anstelle der tatsächlichen Signalisierung. – Kevin
bitte hier klicken: https://www.webrc-experiment.com/ –
können Sie den Code bitte –