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.