state
只读特性在
RTCDtlsTransport
interface provides information which describes a Datagram Transport Layer Security (
DTLS
) transport state.
let myState = dtlsTransport.state;
A string whose value is taken from the
RTCDtlsTransportState
enumerated type. Its value is one of the following:
new
The initial state when DTLS has not started negotiating yet.
connecting
DTLS is in the process of negotiating a secure connection and verifying the remote fingerprint.
connected
DTLS has completed negotiation of a secure connection and verified the remote fingerprint.
closed
close_notify
alert, or calling
RTCPeerConnection.close()
.
failed
The transport has failed as the result of an error (such as receipt of an error alert or failure to validate the remote fingerprint).
This example presents a function,
tallySenders()
, which iterates over an
RTCPeerConnection
's
RTCRtpSender
s, tallying up how many of them are in various states. The function returns an object containing properties whose values indicate how many of the senders are in each state.
let pc = new RTCPeerConnection({ bundlePolicy: "max-bundle" });
/* ... */
function tallySenders(pc) {
let results = {
transportMissing: 0,
connectionPending: 0,
connected: 0,
closed: 0,
failed: 0,
unknown: 0
};
let senderList = pc.getSenders();
senderList.forEach(sender => {
let transport = sender.transport;
if (!transport) {
results.transportMissing++;
} else {
switch(transport.state) {
case "new":
case "connecting":
results.connectionPending++;
break;
case "connected":
results.connected++;
break;
case "closed":
results.closed++;
break;
case "failed":
results.failed++;
break;
默认:
results.unknown++;
break;
}
}
});
return results;
}
Note that in this code, the
new
and
connecting
states are being treated as a single
connectionPending
status in the returned object.
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCDtlsTransport.state' in that specification. |
候选推荐 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
state
|
Chrome 72 | Edge 12 |
Firefox
No
|
IE No | Opera 60 | Safari No | WebView Android 72 | Chrome Android 72 |
Firefox Android
No
|
Opera Android 50 | Safari iOS No | Samsung Internet Android 11.0 |
完整支持
不支持
见实现注意事项。
RTCPeerConnection
RTCSessionDescription
RTCIceCandidate
RTCPeerConnectionIceEvent
RTCPeerConnectionIceErrorEvent
RTCCertificate
RTCRtpSender
RTCRtpReceiver
RTCRtpTransceiver
RTCDtlsTransport
RTCIceTransport
RTCTrackEvent
RTCSctpTransport
RTCDataChannel
RTCDataChannelEvent
RTCDTMFSender
RTCDTMFToneChangeEvent
RTCStatsReport
RTCStatsEvent
RTCErrorEvent