WebRTC - interfejsy API RTCDataChannel

WebRTC jest nie tylko dobry w przesyłaniu strumieni audio i wideo, ale także wszelkich dowolnych danych, które możemy mieć. W tym miejscu do gry wchodzi obiekt RTCDataChannel.

RTCDataChannel API

Nieruchomości

  • RTCDataChannel.label (read only) - Zwraca łańcuch zawierający nazwę kanału danych.

  • RTCDataChannel.ordered (read only) - Zwraca wartość true, jeśli kolejność dostarczania wiadomości jest gwarantowana, lub false, jeśli nie jest gwarantowana.

  • RTCDataChannel.protocol (read only) - Zwraca ciąg zawierający nazwę protokołu podrzędnego używanego dla tego kanału.

  • RTCDataChannel.id (read only) - Zwraca unikalny identyfikator dla kanału, który jest ustawiony podczas tworzenia obiektu RTCDataChannel.

  • RTCDataChannel.readyState (read only)- Zwraca wyliczenie RTCDataChannelState reprezentujące stan połączenia. Możliwe wartości -

    • connecting- Wskazuje, że połączenie nie jest jeszcze aktywne. To jest stan początkowy.

    • open - Wskazuje, że połączenie jest uruchomione.

    • closing- Wskazuje, że trwa zamykanie połączenia. Wiadomości w pamięci podręcznej są w trakcie wysyłania lub odbierania, ale żadne nowo utworzone zadanie nie jest akceptowane.

    • closed - Wskazuje, że nie można nawiązać połączenia lub zostało ono zamknięte.

  • RTCDataChannel.bufferedAmount (read only)- Zwraca ilość bajtów w kolejce do wysłania. To jest ilość danych, które nie zostały jeszcze wysłane przez RTCDataChannel.send ().

  • RTCDataChannel.bufferedAmountLowThreshold- Zwraca liczbę bajtów, przy której RTCDataChannel.bufferedAmount jest traktowana jako mała. Gdy wartość RTCDataChannel.bufferedAmount spadnie poniżej tego progu, wyzwalane jest zdarzenie bufferedamountlow.

  • RTCDataChannel.binaryType- Zwraca typ danych binarnych przesyłanych przez połączenie. Może być „blob” lub „arraybuffer”.

  • RTCDataChannel.maxPacketLifeType (read only) - Zwraca krótki znak bez znaku, który wskazuje długość okna w milisekundach, gdy komunikaty są w trybie zawodnym.

  • RTCDataChannel.maxRetransmits (read only) - Zwraca bez znaku krótki, który wskazuje maksymalną liczbę retransmisji danych przez kanał, jeśli nie zostaną one dostarczone.

  • RTCDataChannel.negotiated (read only) - Zwraca wartość logiczną wskazującą, czy kanał został wynegocjowany przez agenta użytkownika, czy przez aplikację.

  • RTCDataChannel.reliable (read only) - Zwraca wartość logiczną wskazującą, że połączenie może wysyłać wiadomości w trybie zawodnym.

  • RTCDataChannel.stream (read only) - Synonim RTCDataChannel.id

Obsługa zdarzeń

  • RTCDataChannel.onopen- Ten program obsługi zdarzeń jest wywoływany po uruchomieniu zdarzenia open. To zdarzenie jest wysyłane po nawiązaniu połączenia danych.

  • RTCDataChannel.onmessage- Ten program obsługi zdarzeń jest wywoływany po wyzwoleniu zdarzenia komunikatu. Zdarzenie jest wysyłane, gdy w kanale danych jest dostępna wiadomość.

  • RTCDataChannel.onbufferedamountlow- Ten program obsługi zdarzeń jest wywoływany po wyzwoleniu zdarzenia bufferedamoutlow. To zdarzenie jest wysyłane, gdy wartość RTCDataChannel.bufferedAmount spadnie poniżej właściwości RTCDataChannel.bufferedAmountLowThreshold.

  • RTCDataChannel.onclose- Ten program obsługi zdarzeń jest wywoływany, gdy uruchamiane jest zdarzenie close. To zdarzenie jest wysyłane po zamknięciu połączenia danych.

  • RTCDataChannel.onerror- Ten program obsługi zdarzeń jest wywoływany po wyzwoleniu zdarzenia błędu. To zdarzenie jest wysyłane po napotkaniu błędu.

Metody

  • RTCDataChannel.close() - zamyka kanał danych.

  • RTCDataChannel.send()- Wysyła dane w parametrze przez kanał. Dane mogą być obiektem blob, ciągiem, ArrayBuffer lub ArrayBufferView.