chrome.bluetoothSocket

Opis

Interfejs API chrome.bluetoothSocket służy do wysyłania i odbierania danych do urządzeń Bluetooth za pomocą połączeń RFCOMM i L2CAP.

Plik manifestu

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

"bluetooth"

Typy

AcceptError

Typ wyliczeniowy

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

"not_listening"
Gniazdo nie nasłuchuje.

AcceptErrorInfo

Właściwości

  • błąd

    Kod błędu informujący o tym, 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, tj. 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ć jawnie ponownie uruchomione przez aplikację, aby 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

    liczba opcjonalnie

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

  • kanał

    liczba opcjonalnie

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

  • psm

    liczba opcjonalnie

    PSM L2CAP używany przez listenUsingL2cap. Jeśli ten PSM zostanie określony, nie może być wcześniej używany ani wywołanie metody zakończyło się niepowodzeniem. Jeśli nie podasz żadnej wartości, nieużywany PSM zostanie przydzielony automatycznie.

ReceiveError

Typ wyliczeniowy

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

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

"not_connected"
Gniazdo nie jest podłączone.

ReceiveErrorInfo

Właściwości

  • błąd

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

  • errorMessage

    ciąg znaków

    Komunikat o błędzie.

  • socketId

    liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    SlateBuffer

    Odebrane dane o maksymalnym rozmiarze bufferSize.

  • socketId

    liczba

    Identyfikator gniazda.

SocketInfo

Właściwości

  • adres

    ciąg znaków opcjonalny

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

  • bufferSize

    liczba opcjonalnie

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

  • Połączono

    wartość logiczna

    Flaga z informacją, czy gniazdo jest połączone ze zdalnym połączeniem równorzędnym.

  • nazwa

    ciąg znaków opcjonalny

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

  • wstrzymana

    wartość logiczna

    Flaga z informacją, czy połączone gniazdo blokuje wysyłanie dalszych danych przez swoje połączenie równorzędne oraz czy żądania połączenia z gniazda nasłuchu są wysyłane przez zdarzenie onAccept lub znajdują się w kolejce w zaległościach kolejki nasłuchiwania. Zobacz setPaused. Wartość domyślna to „false”.

  • trwała

    wartość logiczna

    Flaga z informacją, 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 bazowe gniazdo jest podłączone, zawiera informacje o UUID usługi, z którą jest połączone. W przeciwnym razie, jeśli bazowe gniazdo nasłuchuje, zawiera informacje o UUID usługi, w której nasłuchuje.

SocketProperties

Właściwości

  • bufferSize

    liczba opcjonalnie

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

  • nazwa

    ciąg znaków opcjonalny

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

  • trwała

    Wartość logiczna opcjonalna

    Flaga z informacją, czy gniazdo jest otwarte, gdy strona zdarzenia aplikacji jest wyładowywana (zobacz Zarządzanie cyklem życia aplikacji). Wartość domyślna to false.. Gdy aplikacja zostanie wczytana, wszystkie gniazda otwarte wcześniej z ustawieniem trwałe=true, mogą być pobierane za pomocą getSockets.

Metody

close()

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

Odłącza i niszczy gniazdo. Po użyciu każdego gniazda należy zamknąć. Identyfikator gniazda stracił ważność, gdy tylko funkcja zostanie wywołana. Gwarantujemy jednak, że gniazdo zostanie zamknięte tylko po wywołaniu wywołania zwrotnego.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

connect()

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

Umożliwia podłączenie gniazda do zdalnego urządzenia Bluetooth. Po zakończeniu operacji connect zdarzenia onReceive zostaną zgłoszone po otrzymaniu danych z połączenia równorzędnego. Jeśli błąd sieci występuje w czasie, gdy środowisko wykonawcze odbiera pakiety, wywoływane jest zdarzenie onReceiveError, co oznacza, że dla tego gniazda nie będzie wywoływane żadne zdarzenie onReceive do czasu wywołania metody setPaused(false).

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres urządzenia Bluetooth.

  • UUID

    ciąg znaków

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

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

create()

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

Tworzy gniazdo Bluetooth.

Parametry

  • usługi

    SocketPropertiesopcjonalne

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

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise&lt;CreateInfo&gt;

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

disconnect()

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

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

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

getInfo()

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

Pobiera stan danego gniazda.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gniazdie.

Zwroty

  • Promise&lt;SocketInfo&gt;

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

getSockets()

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

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

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (sockets: SocketInfo[]) => void

Zwroty

  • Promise&lt;SocketInfo[]&gt;

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

listenUsingL2cap()

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

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

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • UUID

    ciąg znaków

    UUID usługi nasłuchiwany.

  • Opcje

    Opcjonalne ListenOptions

    Opcjonalne opcje dodatkowe usługi.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

listenUsingRfcomm()

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

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

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • UUID

    ciąg znaków

    UUID usługi nasłuchiwany.

  • Opcje

    Opcjonalne ListenOptions

    Opcjonalne opcje dodatkowe usługi.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

send()

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

Wysyła dane przez dane gniazdo Bluetooth.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    SlateBuffer

    Dane do wysłania.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (bytesSent: number) => void

    • bytesSent

      liczba

      Liczba wysłanych bajtów.

Zwroty

  • Promise&lt;number&gt;

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

setPaused()

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

Włącza lub wyłącza odbieranie wiadomości od połączenia równorzędnego przez podłączone gniazdo oraz powoduje, że gniazdo nasłuchujące nie akceptuje nowych połączeń. Wartość domyślna to „false”. Wstrzymanie połączonego gniazda jest zwykle używane przez aplikację do ograniczania danych wysyłanych przez równorzędne. Gdy podłączone gniazdo jest wstrzymane, nie zostaje wywołane żadne zdarzenie onReceive. Gdy gniazdo jest podłączone i wznowione, zdarzenia onReceive są ponownie zgłaszane po odebraniu wiadomości. Gdy gniazdo nasłuchu jest wstrzymane, nowe połączenia są akceptowane do momentu wyczerpania zaległości, a następnie są odrzucane dodatkowe żądania połączenia. Zdarzenia typu onAccept są wywoływane tylko po wznowieniu gniazda.

Parametry

  • socketId

    liczba

  • wstrzymana

    wartość logiczna

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

update()

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

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 91 lub nowszej .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

Wydarzenia

onAccept

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

Zdarzenie wywoływane po ustanowieniu połączenia z danym gniazdem.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (info: AcceptInfo) => void

onAcceptError

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

Zdarzenie zgłoszone, gdy wystąpił błąd sieci, gdy środowisko wykonawcze czekało na nowe połączenia z danym gniazdem. Po wywołaniu tego zdarzenia gniazdo jest ustawione na paused i nie są dla niego wywoływane żadne zdarzenia onAccept.

Parametry

onReceive

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

Zdarzenie zgłoszone po otrzymaniu danych z danego gniazda.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (info: ReceiveInfo) => void

onReceiveError

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

Zdarzenie wywoływane, gdy błąd sieci wystąpił, gdy środowisko wykonawcze czekało na dane dla gniazda. Po wywołaniu tego zdarzenia gniazdo jest ustawione na paused i nie są dla niego wywoływane żadne zdarzenia onReceive.

Parametry