HTTP/2 301
server: nginx
date: Wed, 30 Jul 2025 12:14:00 GMT
content-type: text/html
content-length: 162
location: https://developer.mozilla.org/en-US/docs/Web/API/RTCIceTransport/getRemoteCandidates
strict-transport-security: max-age=60; includeSubDomains
via: 1.1 google
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
HTTP/2 200
content-type: text/html
x-guploader-uploadid: ABgVH8_Bu7Yd8L46kOXqhdNWxdTiW28yTDy7QpguPcT4g4wWwpyRiq1gt4inwgqHWcfWPEjDs1OJwoI
cache-control: public, max-age=3600
expires: Wed, 30 Jul 2025 13:14:01 GMT
last-modified: Wed, 23 Jul 2025 00:46:06 GMT
etag: W/"27aa52e15c02aee440a27d18c26da09b"
x-goog-generation: 1753231566378729
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 63911
x-goog-meta-goog-reserved-file-mtime: 1753230357
x-goog-hash: crc32c=jh+eYA==, md5=J6pS4VwCruRAon0Ywm2gmw==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-EehWlTYp7Bqy57gDeQttaWKp0ukTTEUKGP44h8GVeik=' 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-EehWlTYp7Bqy57gDeQttaWKp0ukTTEUKGP44h8GVeik=' 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: ace0555b269bf86ec151ab144e663d78
date: Wed, 30 Jul 2025 12:14:01 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
RTCIceTransport: getRemoteCandidates() method - Web APIs | MDN
RTCIceTransport: getRemoteCandidates() method Limited availability
The getRemoteCandidates()
method of the RTCIceTransport
interface returns an array that contains one RTCIceCandidate
for each of the candidates that have been received from the remote peer so far during the current ICE gathering session.
Each time your signaling code calls RTCPeerConnection.addIceCandidate()
to add a received candidate to the ICE session, the ICE agent places it in the list returned by this function.
An array containing one RTCIceCandidate
object for each candidate that has been received so far from the remote peer during the current ICE candidate gathering session.
It's important to keep in mind that there's no way to correlate these remote candidates with compatible local candidates.
To find the best match found so far, call RTCIceTransport.getSelectedCandidatePair()
.
This simple example gets the remote candidate list from the RTCIceTransport
for the first RTCRtpSender
on the RTCPeerConnection
, then outputs to the console all of the candidates in the list.
const remoteCandidates = pc
.getSenders()[0]
.transport.transport.getRemoteCandidates();
remoteCandidates.forEach((candidate, index) => {
console.log(`Candidate ${index}: ${candidate.candidate}`);
});