RTCIceServer définit comment se connecter à un serveur ICE unique (comme un serveur STUN ou TURN). Il comprend à la fois l'URL et les éventuelle informations d'identification nécessaires pour se connecter au serveur.
Propriétés
credential
Facultatif- Les informations d'identification à utiliser lors de la connexion au serveur. Celles‑ci sont utilisées uniquement si
RTCIceServer
est un serveur TURN. credentialType
Facultatif- Si
RTCIceServer
est un serveur TURN, cet attribut spécifie quel type d'information d'identification doit être utilisé lors de la connexion. Ce doit être l'une des valeurs définies par l'énumérationRTCIceCredentialType
. La valeur par défaut estpassword
. url
- Cette propriété obsolète est une chaîne spécifiant l'URL d'un serveur ICE unique. Ne pas utiliser cette propriété; utiliser plutôt
RTCIceServer.urls
. Étant donné que de nombreux livres et exemples anciens l'utilisent encore, nous l'incluons pour aider les développeurs à mettre à jour leur code ou donner un sens a des exemples plus anciens. urls
- Cette propriété est obligatoire, elle peut être soit une seule
DOMString
ou un tableau deDOMString
, spécifiant chacun une URL qui peut être utilisée pour se connecter au serveur. username
Facultatif- Si
RTCIceServer
est un serveur TURN, alors ceci est le nom d'utilisateur à utiliser pendant le processus d'authentification.
Évitez de spécifier un nombre inutilement élevé d'URL dans la propriété urls
; le temps de démarrage de votre connexion va augmenter sensiblement. Chaque serveur dans la liste sera contacté et testé avant d'en choisir un pour être utilisé pour la négociation.
Les anciennes versions de la spécification WebRTC incluent une propriété url
au lieu de urls
; cela a été changé afin de vous permettre de spécifier plusieurs adresses pour chaque serveur dans la liste, comme le montre l'exemple ci-dessous.
Constantes
Enumeration RTCIceCredentialType
L'enumeration RTCIceCredentialType
spécifie les valeurs qui peuvent être renvoyés par la propriété credentialType pour définir quel type d'authentification est fournie dans la propriété RTCIceServer.credential
. Cela peut être l'une des valeurs ci‑dessous.
Constante | Description |
---|---|
"password" |
un mot de passe d'aithentification. Voir RFC 5389, section 10.2 pour plus de détails. |
"token" |
The credential is an access token to be used with a third-party authentication system. |
Example
The configuration below establishes two ICE servers. The first one, stun:stun.services.mozilla.com
, requires authentication, so the username and password are provided. The second server has two URLs: stun:stun.example.com
and stun:stun-1.example.com
.
var configuration = { iceServers: [{
urls: "stun:stun.services.mozilla.com",
username: "louis@mozilla.com",
credential: "webrtcdemo"
}, {
urls: [
"stun:stun.example.com",
"stun:stun-1.example.com"
]
}]
};
var pc = new RTCPeerConnection(configuration);
Once the configuration object has been created, it is passed into the RTCPeerConnection()
constructor to use it as the configuration for the new peer connection.
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (Oui) | 22 (22) | ? | ? | ? |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | Pas de support | Pas de support | 24.0 (24) | ? | ? | ? | ? | (Oui) |