RTCTransportStats

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Từ điển RTCTransportStats của WebRTC API cung cấp thông tin về transport (RTCDtlsTransportRTCIceTransport bên dưới nó) được sử dụng bởi một cặp candidate cụ thể.

Tính năng BUNDLE là một phần mở rộng SDP cho phép đàm phán để sử dụng một transport duy nhất để gửi và nhận phương tiện được mô tả bởi nhiều mô tả phương tiện SDP. Nếu endpoint từ xa biết về tính năng này, tất cả MediaStreamTrack và kênh dữ liệu sẽ được gom vào một transport duy nhất khi hoàn tất đàm phán. Điều này đúng với các trình duyệt hiện tại, nhưng nếu kết nối với endpoint cũ không nhận biết BUNDLE, thì các transport riêng biệt có thể được sử dụng cho các phương tiện khác nhau. Chính sách sử dụng trong đàm phán được cấu hình trong hàm khởi tạo RTCPeerConnection.

Các thống kê này có thể được lấy bằng cách duyệt qua RTCStatsReport được trả về bởi RTCPeerConnection.getStats() cho đến khi bạn tìm thấy báo cáo có typetransport.

Thuộc tính phiên bản

bytesReceived Optional

Tổng số byte payload đã nhận trên transport này (byte đã nhận, không bao gồm header, padding hoặc kiểm tra kết nối ICE).

bytesSent Optional

Tổng số byte payload đã gửi trên transport này (byte đã gửi, không bao gồm header, padding hoặc kiểm tra kết nối ICE).

dtlsCipher Optional

Chuỗi chỉ ra tên của cipher suite được sử dụng cho transport DTLS, chẳng hạn như TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256.

dtlsRole Optional Experimental

Chuỗi chỉ ra vai trò DTLS của RTCPeerConnection liên quan. Đây là một trong các giá trị: client, server, unknown (trước khi đàm phán DTLS bắt đầu).

dtlsState

Chuỗi chỉ ra trạng thái hiện tại của RTCDtlsTransport bên dưới. Đây là một trong các giá trị: new, connecting, connected, closed, failed.

iceLocalUsernameFragment Optional Experimental

Chuỗi chỉ ra username fragment cục bộ xác định duy nhất phiên tương tác ICE được quản lý bởi transport này.

iceRole Optional Experimental

Chuỗi chỉ ra role ICE của RTCIceTransport bên dưới. Đây là một trong các giá trị: controlled, controlling, hoặc unknown.

iceState Optional Experimental

Chuỗi chỉ ra trạng thái hiện tại của RTCIceTransport bên dưới. Đây là một trong các giá trị: new, checking, connected, completed, disconnected, failed, hoặc closed.

localCertificateId Optional

Chuỗi chứa id của chứng chỉ cục bộ được sử dụng bởi transport này. Chỉ có mặt với các transport DTLS, và sau khi DTLS đã được đàm phán.

packetsReceived Optional Experimental

Tổng số gói tin đã nhận trên transport này.

packetsSent Optional Experimental

Tổng số gói tin đã gửi qua transport này.

remoteCertificateId Optional

Chuỗi chứa id của chứng chỉ từ xa được sử dụng bởi transport này. Chỉ có mặt với các transport DTLS, và sau khi DTLS đã được đàm phán.

selectedCandidatePairChanges Optional

Số lần cặp candidate được chọn của transport này đã thay đổi. Giá trị ban đầu là không và tăng lên bất cứ khi nào một cặp candidate được chọn hoặc bị mất.

selectedCandidatePairId Optional

Chuỗi chứa định danh duy nhất cho đối tượng đã được kiểm tra để tạo ra RTCIceCandidatePairStats liên quan đến transport này.

srtpCipher Optional

Chuỗi chỉ ra tên mô tả của protection profile được sử dụng cho transport Secure Real-time Transport Protocol (SRTP).

tlsVersion Optional

Chuỗi chứa phiên bản TLS đã đàm phán. Có mặt với các transport DTLS, và chỉ tồn tại sau khi DTLS đã được đàm phán.

Thuộc tính phiên bản chung

Các thuộc tính sau đây chung cho tất cả các đối tượng thống kê WebRTC.

id

Chuỗi xác định duy nhất đối tượng đang được giám sát để tạo ra tập hợp thống kê này.

timestamp

Đối tượng DOMHighResTimeStamp chỉ ra thời điểm mẫu được lấy cho đối tượng thống kê này.

type

Chuỗi có giá trị "transport", chỉ ra loại thống kê mà đối tượng chứa.

Ví dụ

Ví dụ này cho thấy một hàm trả về thống kê transport, hoặc null nếu không có thống kê nào được cung cấp.

Hàm chờ kết quả của lệnh gọi RTCPeerConnection.getStats() rồi duyệt qua RTCStatsReport được trả về để chỉ lấy các thống kê có kiểu "transport". Sau đó nó trả về thống kê hoặc null, sử dụng dữ liệu trong báo cáo.

js
async function numberOpenConnections (peerConnection) {
  const stats = await peerConnection.getStats();
  let transportStats = null;

  stats.forEach((report) => {
    if (report.type === "transport") {
      transportStats = report;
      break;
    }
  });

return transportStats
}

Thông số kỹ thuật

Specification
Identifiers for WebRTC's Statistics API
# dom-rtcstatstype-transport

Tương thích trình duyệt