RTCSessionDescription

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.

Giao diện RTCSessionDescription mô tả một đầu của kết nối—hoặc kết nối tiềm năng—và cách nó được cấu hình. Mỗi RTCSessionDescription bao gồm một type mô tả cho biết phần nào của quá trình thương lượng offer/answer mà nó mô tả và bộ mô tả SDP của phiên.

Quá trình thương lượng kết nối giữa hai peer liên quan đến việc trao đổi các đối tượng RTCSessionDescription qua lại, với mỗi mô tả đề xuất một tổ hợp tùy chọn cấu hình kết nối mà người gửi mô tả hỗ trợ. Khi hai peer thống nhất về cấu hình cho kết nối, quá trình thương lượng sẽ hoàn tất.

Constructor

RTCSessionDescription() Deprecated

Tạo một RTCSessionDescription mới bằng cách chỉ định typesdp. Tất cả các phương thức chấp nhận đối tượng RTCSessionDescription cũng chấp nhận các đối tượng có cùng thuộc tính, vì vậy bạn có thể sử dụng một đối tượng thuần thay vì tạo một instance RTCSessionDescription.

Thuộc tính instance

Giao diện RTCSessionDescription không kế thừa bất kỳ thuộc tính nào.

RTCSessionDescription.type Read only

Một enum mô tả loại của mô tả phiên.

RTCSessionDescription.sdp Read only

Một chuỗi chứa SDP mô tả phiên.

Phương thức instance

Giao diện RTCSessionDescription không kế thừa bất kỳ phương thức nào.

RTCSessionDescription.toJSON()

Trả về mô tả JSON của đối tượng. Giá trị của cả hai thuộc tính, typesdp, đều được chứa trong JSON được tạo.

Ví dụ

js
signalingChannel.onmessage = (evt) => {
  if (!pc) start(false);

  const message = JSON.parse(evt.data);
  if (message.type && message.sdp) {
    pc.setRemoteDescription(
      new RTCSessionDescription(message),
      () => {
        // nếu chúng tôi nhận được một offer, chúng tôi cần trả lời
        if (pc.remoteDescription.type === "offer") {
          pc.createAnswer(localDescCreated, logError);
        }
      },
      logError,
    );
  } else {
    pc.addIceCandidate(
      new RTCIceCandidate(message.candidate),
      () => {},
      logError,
    );
  }
};

Đặc tả kỹ thuật

Specification
WebRTC: Real-Time Communication in Browsers
# rtcsessiondescription-class

Hỗ trợ trình duyệt

Xem thêm