Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCDataChannel: message-Ereignis

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.

Das WebRTC message-Ereignis wird an den onmessage-Ereignis-Handler eines RTCDataChannel-Objekts gesendet, wenn eine Nachricht vom entfernten Peer empfangen wurde.

Hinweis: Das message-Ereignis verwendet als Event-Objekttyp das MessageEvent-Interface, das durch die HTML-Spezifikation definiert ist.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht gebubbelt.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

js
addEventListener("message", (event) => { })

onmessage = (event) => { }

Ereignistyp

Ein MessageEvent. Erbt von Event.

Event MessageEvent

Beispiele

Für ein gegebenes RTCDataChannel, dc, das für eine Peer-Verbindung unter Verwendung der Methode createDataChannel() erstellt wurde, setzt dieser Code einen Handler für eingehende Nachrichten auf und verarbeitet diese, indem die im Ereignis enthaltenen Daten als neues <p>-Element (Absatz) in das aktuelle Dokument eingefügt werden.

js
dc.addEventListener("message", (event) => {
  let newParagraph = document.createElement("p");
  let textNode = document.createTextNode(event.data);
  newParagraph.appendChild(textNode);

  document.body.appendChild(newParagraph);
});

Wir erstellen zunächst das neue Absatz-Element und fügen die Nachrichtendaten als neuen Textknoten hinzu. Dann fügen wir den neuen Absatz an das Ende des Dokumentkörpers an.

Sie können auch die onmessage-Ereignis-Handler-Eigenschaft eines RTCDataChannel-Objekts verwenden, um den Ereignis-Handler festzulegen:

js
dc.onmessage = (event) => {
  let newParagraph = document.createElement("p");
  let textNode = document.createTextNode(event.data);
  newParagraph.appendChild(textNode);

  document.body.appendChild(newParagraph);
};

Spezifikationen

Spezifikation
WebRTC: Real-Time Communication in Browsers
# event-datachannel-message
WebRTC: Real-Time Communication in Browsers
# dom-rtcdatachannel-onmessage

Browser-Kompatibilität

Siehe auch