chrome.bluetoothSocket

Opis

Używaj interfejsu API chrome.bluetoothSocket do wysyłania i odbierania danych na urządzeniach Bluetooth za pomocą połączeń RFCOMM i L2CAP.

Dostępność

Tylko w systemie ChromeOS

Plik manifestu

Aby używać tego interfejsu API, musisz zadeklarować te klucze w pliku manifestu.

"bluetooth"

Typy

AcceptError

Typ wyliczeniowy

"system_error"
Wystąpił błąd systemu i połączenie może być nie do odzyskania.

"not_listening"
Gniazdo nie nasłuchuje.

AcceptErrorInfo

Właściwości

  • błąd

    Kod błędu wskazujący, co poszło nie tak.

  • Komunikat o błędzie

    tekst

    Komunikat o błędzie.

  • socketId

    liczba

    Identyfikator gniazda serwera.

AcceptInfo

Właściwości

  • clientSocketId

    liczba

    Identyfikator gniazda klienta, czyli identyfikator gniazda nowo nawiązanego połączenia. Tego identyfikatora gniazda należy używać tylko z funkcjami z przestrzeni nazw chrome.bluetoothSocket. Pamiętaj, że gniazdo klienta jest początkowo wstrzymane i musi zostać wyraźnie wznowione przez aplikację, aby mogło zacząć odbierać dane.

  • socketId

    liczba

    Identyfikator gniazda serwera.

CreateInfo

Właściwości

  • socketId

    liczba

    Identyfikator nowo utworzonego gniazda. Pamiętaj, że identyfikatory gniazd utworzone za pomocą tego interfejsu API nie są zgodne z identyfikatorami gniazd utworzonymi za pomocą innych interfejsów API, takich jak [sockets.tcp](../sockets_tcp/).

ListenOptions

Właściwości

  • zaległości

    number optional

    Długość kolejki nasłuchiwania gniazda. Wartość domyślna zależy od podsystemu hosta systemu operacyjnego.

  • kanał

    number optional

    Kanał RFCOMM używany przez: listenUsingRfcomm. Jeśli podasz kanał, nie może on być wcześniej używany, w przeciwnym razie wywołanie metody zakończy się niepowodzeniem. Jeśli nie zostanie określony, nieużywany kanał zostanie przydzielony automatycznie.

  • psm

    number optional

    L2CAP PSM używany przez listenUsingL2cap. Jeśli podasz tę wartość, nie może ona być wcześniej używana, w przeciwnym razie wywołanie metody zakończy się niepowodzeniem. Jeśli nie zostanie określony, automatycznie zostanie przydzielony nieużywany PSM.

ReceiveError

Typ wyliczeniowy

"disconnected"
Połączenie zostało rozłączone.

"system_error"
Wystąpił błąd systemu i połączenie może być nie do odzyskania.

"not_connected"
Gniazdo nie zostało połączone.

ReceiveErrorInfo

Właściwości

  • błąd

    Kod błędu wskazujący, co poszło nie tak.

  • Komunikat o błędzie

    tekst

    Komunikat o błędzie.

  • socketId

    liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    ArrayBuffer

    Otrzymane dane o maksymalnym rozmiarze bufferSize.

  • socketId

    liczba

    Identyfikator gniazda.

SocketInfo

Właściwości

  • adres

    ciąg znaków opcjonalny

    Jeśli bazowe gniazdo jest połączone, zawiera adres Bluetooth urządzenia, z którym jest połączone.

  • bufferSize

    number optional

    Rozmiar bufora używanego do odbierania danych. Jeśli nie określono wyraźnie rozmiaru bufora, wartość nie jest podawana.

  • Połączono

    wartość logiczna

    Flaga wskazująca, czy gniazdo jest połączone ze zdalnym węzłem.

  • nazwa

    ciąg znaków opcjonalny

    Zdefiniowany przez aplikację ciąg znaków powiązany z gniazdem.

  • wstrzymana

    wartość logiczna

    Flaga wskazująca, czy połączone gniazdo blokuje wysyłanie większej ilości danych przez gniazdo równorzędne, czy żądania połączenia w gnieździe nasłuchującym są wysyłane przez zdarzenie onAccept lub umieszczane w kolejce nasłuchiwania. Zobacz setPaused. Wartość domyślna to „false”.

  • trwałe

    wartość logiczna

    Flaga wskazująca, czy gniazdo pozostaje otwarte, gdy strona zdarzenia aplikacji jest wyładowana (patrz SocketProperties.persistent). Wartość domyślna to „false”.

  • socketId

    liczba

    Identyfikator gniazda.

  • uuid

    ciąg znaków opcjonalny

    Jeśli gniazdo bazowe jest połączone, zawiera informacje o identyfikatorze UUID usługi, z którą jest połączone. Jeśli gniazdo bazowe nasłuchuje, zawiera informacje o identyfikatorze UUID usługi, na której nasłuchuje.

SocketProperties

Właściwości

  • bufferSize

    number optional

    Rozmiar bufora używanego do odbierania danych. Wartością domyślną jest 4096.

  • nazwa

    ciąg znaków opcjonalny

    Zdefiniowany przez aplikację ciąg znaków powiązany z gniazdem.

  • trwałe

    boolean opcjonalne

    Flaga wskazująca, czy gniazdo pozostaje otwarte po wyładowaniu strony zdarzenia aplikacji (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to false.. Po wczytaniu aplikacji wszystkie gniazda otwarte wcześniej z ustawieniem persistent=true można pobrać za pomocą getSockets.

Metody

close()

Obietnica
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Rozłącza i niszczy gniazdo. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda przestaje być ważny, gdy tylko funkcja zostanie wywołana. Gniazdo zostanie jednak zamknięte dopiero po wywołaniu funkcji zwrotnej.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

connect()

Obietnica
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)
: Promise<void>

Łączy gniazdo ze zdalnym urządzeniem Bluetooth. Po pomyślnym zakończeniu operacji connect zdarzenia onReceive są wywoływane, gdy dane są odbierane od połączenia równorzędnego. Jeśli podczas odbierania pakietów przez środowisko wykonawcze wystąpi błąd sieci, zostanie wywołane zdarzenie onReceiveError. Od tego momentu nie będzie już wywoływane zdarzenie onReceive dla tego gniazda, dopóki nie zostanie wywołana metoda setPaused(false).

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    tekst

    Adres urządzenia Bluetooth.

  • uuid

    tekst

    Identyfikator UUID usługi, z którą chcesz się połączyć.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

create()

Obietnica
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Tworzy gniazdo Bluetooth.

Parametry

  • właściwości

    SocketProperties opcjonalny

    Właściwości gniazda (opcjonalnie).

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise<CreateInfo>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

disconnect()

Obietnica
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Rozłącza gniazdo. Identyfikator gniazda pozostaje ważny.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getInfo()

Obietnica
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gnieździe.

Zwroty

  • Promise<SocketInfo>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

getSockets()

Obietnica
chrome.bluetoothSocket.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

Pobiera listę aktualnie otwartych gniazd należących do aplikacji.

Parametry

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (sockets: SocketInfo[]) => void

    • gniazda

      Tablica obiektów zawierających informacje o gnieździe.

Zwroty

  • Promise<SocketInfo[]>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

listenUsingL2cap()

Obietnica
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

Nasłuchiwanie połączeń przy użyciu protokołu L2CAP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • uuid

    tekst

    Identyfikator UUID usługi, na którym ma być nasłuchiwanie.

  • Opcje

    ListenOptions opcjonalny

    Opcjonalne dodatkowe opcje usługi.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

listenUsingRfcomm()

Obietnica
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

Nasłuchiwanie połączeń przy użyciu protokołu RFCOMM.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • uuid

    tekst

    Identyfikator UUID usługi, na którym ma być nasłuchiwanie.

  • Opcje

    ListenOptions opcjonalny

    Opcjonalne dodatkowe opcje usługi.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

send()

Obietnica
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<number>

Wysyła dane przez podane gniazdo Bluetooth.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do wysłania.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    (bytesSent: number) => void

    • bytesSent

      liczba

      Liczba wysłanych bajtów.

Zwroty

  • Promise<number>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

setPaused()

Obietnica
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Włącza lub wyłącza odbieranie wiadomości przez połączone gniazdo od gniazda równorzędnego albo akceptowanie nowych połączeń przez gniazdo nasłuchujące. Wartość domyślna to „false”. Wstrzymanie połączonego gniazda jest zwykle używane przez aplikację do ograniczania danych wysyłanych przez urządzenie równorzędne. Gdy połączone gniazdo jest wstrzymane, nie jest wywoływane zdarzenie onReceive. Gdy gniazdo jest połączone i nie jest wstrzymane, zdarzenia onReceive są ponownie wywoływane po odebraniu wiadomości. Gdy gniazdo nasłuchujące jest wstrzymane, nowe połączenia są akceptowane, dopóki nie zapełni się jego lista oczekujących. Następnie dodatkowe żądania połączenia są odrzucane. Zdarzenia onAccept są wywoływane tylko wtedy, gdy gniazdo nie jest wstrzymane.

Parametry

  • socketId

    liczba

  • wstrzymana

    wartość logiczna

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

update()

Obietnica
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

Aktualizuje właściwości gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • właściwości

    Właściwości do zaktualizowania.

  • callback

    function opcjonalne

    Parametr callback wygląda tak:

    () => void

Zwroty

  • thought Promise<void>

    Chrome 91 lub nowsza wersja

    Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

Wydarzenia

onAccept

chrome.bluetoothSocket.onAccept.addListener(
  callback: function,
)

Zdarzenie wywoływane po nawiązaniu połączenia z danym gniazdem.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (info: AcceptInfo) => void

onAcceptError

chrome.bluetoothSocket.onAcceptError.addListener(
  callback: function,
)

Zdarzenie wywoływane, gdy wystąpi błąd sieci, podczas gdy środowisko wykonawcze oczekuje na nowe połączenia na danym gnieździe. Po wywołaniu tego zdarzenia gniazdo jest ustawiane na paused i nie są już wywoływane żadne zdarzenia onAccept dla tego gniazda.

Parametry

onReceive

chrome.bluetoothSocket.onReceive.addListener(
  callback: function,
)

Zdarzenie wywoływane po odebraniu danych dla danego gniazda.

Parametry

onReceiveError

chrome.bluetoothSocket.onReceiveError.addListener(
  callback: function,
)

Zdarzenie wywoływane, gdy podczas oczekiwania środowiska wykonawczego na dane w gnieździe wystąpi błąd sieci. Po wywołaniu tego zdarzenia gniazdo jest ustawiane na paused i nie są już wywoływane żadne zdarzenia onReceive dla tego gniazda.

Parametry