chrome.bluetoothSocket

Opis

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

Plik manifestu

Aby korzystać z tego interfejsu API, musisz zadeklarować te klucze w pliku manifestu.

"bluetooth"

Typy

AcceptError

Typ wyliczeniowy

"system_error"
Wystąpił błąd systemowy, a połączenie może być nieodwracalnie utracone.

"not_listening"
Socket nie nasłuchuje.

AcceptErrorInfo

Właściwości

  • błąd

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

  • errorMessage

    ciąg znaków

    komunikat o błędzie.

  • socketId

    liczba

    Identyfikator gniazda serwera.

AcceptInfo

Właściwości

  • clientSocketId

    liczba

    Identyfikator gniazda klienta, czyli identyfikator gniazda nowo utworzonego połączenia. Identyfikator gniazda powinien być używany tylko w przypadku funkcji z przestrzeni nazw chrome.bluetoothSocket. Pamiętaj, że gniazdo klienta jest początkowo wstrzymane i musi zostać wyraźnie odblokowane przez aplikację, aby mogła ona 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 interfejs API [sockets.tcp](../sockets_tcp/).

ListenOptions

Właściwości

  • lista zadań

    number opcjonalny

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

  • kanał

    number opcjonalny

    Kanał RFCOMM używany przez listenUsingRfcomm. Jeśli jest podany, kanał nie może być używany, ponieważ wywołanie metody zakończy się niepowodzeniem. Jeśli nie podasz żadnego kanału, zostanie automatycznie przydzielony niewykorzystany kanał.

  • psm

    number opcjonalny

    PSM L2CAP używany przez listenUsingL2cap. Jeśli jest podany, to PSM nie może być wcześniej używany, ponieważ w przeciwnym razie wywołanie metody zakończy się niepowodzeniem. Jeśli nie podasz żadnej wartości, zostanie automatycznie przypisana niewykorzystana PSM.

ReceiveError

Typ wyliczeniowy

„disconnected” (rozłączone)
Połączenie zostało przerwane.

"system_error"
Wystąpił błąd systemowy i połączenie może być nieodwracalnie utracone.

"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.

  • errorMessage

    ciąg znaków

    komunikat o błędzie.

  • socketId

    liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    ArrayBuffer

    Otrzymane dane o maksymalnej wielkości bufferSize.

  • socketId

    liczba

    Identyfikator gniazda.

SocketInfo

Właściwości

  • adres

    ciąg znaków opcjonalny

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

  • bufferSize

    number opcjonalny

    Rozmiar bufora używanego do odbierania danych. Jeśli rozmiar bufora nie został wyraźnie określony, nie podaje się jego wartości.

  • Połączono

    wartość logiczna

    Flaga wskazująca, czy gniazdo jest połączone z odległym gniazdem.

  • 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 swojego peera przed wysyłaniem kolejnych danych, czy żądania połączenia na gniazdo nasłuchujące są wysyłane za pomocą zdarzenia onAccept lub umieszczane w kole nasłuchującej. Zobacz setPaused. Wartość domyślna to „false”.

  • trwałe

    wartość logiczna

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

  • socketId

    liczba

    Identyfikator gniazda.

  • identyfikator UUID

    ciąg znaków opcjonalny

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

SocketProperties

Właściwości

  • bufferSize

    number opcjonalny

    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

    wartość logiczna opcjonalna

    Flaga wskazująca, czy gniazdo pozostaje otwarte, gdy strona zdarzenia aplikacji jest wczytywana (patrz Zarządzanie cyklem życia aplikacji). Wartość domyślna to false.. Po załadowaniu aplikacji wszystkie gniazda otwarte wcześniej za pomocą parametru persistent=true można pobrać za pomocą parametru getSockets.

Metody

close()

Obietnice
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

Rozłącza i niszczy złącze. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda traci ważność po wywołaniu funkcji. Jednak gniazdo jest zamknięte tylko wtedy, gdy wywołano funkcję wywołania zwrotnego.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

connect()

Obietnice
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)

Łączy gniazdo z odległym urządzeniem Bluetooth. Gdy operacja connect zostanie zakończona, po otrzymaniu danych od peera są generowane zdarzenia onReceive. Jeśli podczas odbierania pakietów przez środowisko uruchomieniowe wystąpi błąd sieci, zostanie wywołane zdarzenie onReceiveError, po którym nie będzie już wywoływanych kolejnych zdarzeń onReceive dla tego gniazda, dopóki nie zostanie wywołana metoda setPaused(false).

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres urządzenia Bluetooth.

  • identyfikator UUID

    ciąg znaków

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

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

create()

Obietnice
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

Tworzy gniazdo Bluetooth.

Parametry

  • usługi

    SocketProperties opcjonalny

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

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (createInfo: CreateInfo) => void

Zwroty

  • Obietnica<CreateInfo>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

disconnect()

Obietnice
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)

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

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

getInfo()

Obietnice
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gnieździe.

Zwroty

  • Promise<SocketInfo>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

getSockets()

Obietnice
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

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

Parametry

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (sockets: SocketInfo[]) => void

Zwroty

  • Promise<SocketInfo[]>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

listenUsingL2cap()

Obietnice
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Nasłuchiwanie połączeń za pomocą protokołu L2CAP.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • identyfikator UUID

    ciąg znaków

    Identyfikator UUID usługi, w której chcesz słuchać.

  • Opcje

    ListenOptions opcjonalnie

    Opcjonalne dodatkowe opcje usługi.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

listenUsingRfcomm()

Obietnice
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Nasłuchiwanie połączeń za pomocą protokołu RFCOMM.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • identyfikator UUID

    ciąg znaków

    Identyfikator UUID usługi, w której chcesz słuchać.

  • Opcje

    ListenOptions opcjonalnie

    Opcjonalne dodatkowe opcje usługi.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

send()

Obietnice
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

Wysyła dane przez wybrany gniazdo Bluetooth.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do wysłania.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (bytesSent: number) => void

    • bytesSent

      liczba

      Liczba wysłanych bajtów.

Zwroty

  • Obietnice<number>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

setPaused()

Obietnice
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Umożliwia lub uniemożliwia połączonemu gniazdowi odbieranie wiadomości od jego odpowiednika lub gniazdowi nasłuchującemu akceptowanie nowych połączeń. Wartość domyślna to „false”. Zawieszanie połączonego gniazda jest zwykle używane przez aplikację do ograniczania danych przesyłanych przez jego peera. Gdy połączony gniazdo zostanie wstrzymane, nie zostanie wywołane żadne zdarzenie onReceive. Gdy gniazdo zostanie połączone i odwieszone, zdarzenia onReceive będą ponownie wywoływane po otrzymaniu wiadomości. Gdy gniazdo odsłuchowe jest wstrzymane, nowe połączenia są akceptowane, dopóki kolejka nie zostanie wypełniona. Następnie dodatkowe żądania połączenia są odrzucane. Zdarzenia onAccept są wywoływane tylko wtedy, gdy socket nie jest wstrzymany.

Parametry

  • socketId

    liczba

  • wstrzymana

    wartość logiczna

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.

update()

Obietnice
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Aktualizuje właściwości gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • Właściwości do zaktualizowania.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 91 lub nowszy

    Obietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, 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

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (info: AcceptInfo) => void

onAcceptError

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

Zdarzenie wywoływane, gdy wystąpił błąd sieci podczas oczekiwania środowiska uruchomieniowego na nowe połączenia na danym gnieździe. Gdy to zdarzenie zostanie wywołane, gniazdo zostanie ustawione na paused i nie będzie już wywoływać zdarzeń onAccept.

Parametry

onReceive

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

Zdarzenie wywoływane po otrzymaniu danych dla danego gniazda.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (info: ReceiveInfo) => void

onReceiveError

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

Wystąpienie błędu sieciowego, gdy środowisko wykonawcze oczekuje na dane w gnieździe. Gdy to zdarzenie zostanie wywołane, gniazdo zostanie ustawione na paused i nie będzie już wywoływać zdarzeń onReceive.

Parametry