Since May 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
The maxMessageSize read-only property of the RTCSctpTransport interface indicates the maximum size of a message that can be sent using the RTCDataChannel.send() method.
An integer value giving the maximum size, in bytes, of a message which can be sent using the RTCDataChannel.send() method.
This example shows how you might split up a string into small enough parts to send based on maximum message size.
// Function splits strings to a specified size and returns array.
function splitStringToMax(str, maxLength) {
const result = [];
let i = 0;
while (i < str.length) {
result.push(str.substring(i, i + maxLength));
i += maxLength;
}
return result;
}
const peerConnection = new RTCPeerConnection(options);
const channel = peerConnection.createDataChannel("chat");
channel.onopen = (event) => {
const maximumMessageSize = peerConnection.sctp.maxMessageSize;
const textToSend = "This is my possibly overly long string!";
splitStringToMax(textToSend, maximumMessageSize).forEach((elem) => {
channel.send(elem);
});
};
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
maxMessageSize |
76 | 79 | 113 | 63 | 15.4 | 76 | 113 | 54 | 15.4 | 12.0 | 76 | 15.4 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCSctpTransport/maxMessageSize