chrome.bluetoothSocket

Opis

Używaj interfejsu chrome.bluetoothSocket API do wysyłania i odbierania danych na urządzenia 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 systemu, a 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 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. Ten identyfikator gniazda powinien być używany tylko z funkcjami z przestrzeni nazw chrome.bluetoothSocket. Pamiętaj, że gniazdo klienta jest początkowo wstrzymane i musi zostać wyraźnie odblokowane przez aplikację, aby rozpocząć odbieranie danych.

  • 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, np. interfejsu [sockets.tcp](../sockets_tcp/).

ListenOptions

Właściwości

  • backlog

    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 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 zostanie podany, automatycznie zostanie przydzielony nieużywany kanał.

  • psm

    number opcjonalny

    Port PSM L2CAP używany przez listenUsingL2cap. Jeśli ten PSM jest określony, nie może być wcześniej używany. 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 przerwane.

„system_error”
Wystąpił błąd systemu, a połączenie może być niemożliwe 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.

  • errorMessage

    ciąg znaków

    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

    string opcjonalny

    Jeśli gniazdo bazowe 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ł określony, wartość nie jest podawana.

  • Podłączono

    Wartość logiczna

    Flaga z informacją, czy gniazdo jest połączone ze zdalnym urządzeniem.

  • nazwa

    string opcjonalny

    Ciąg znaków zdefiniowany przez aplikację powiązany z gniazdem.

  • wstrzymana

    Wartość logiczna

    Flaga wskazująca, czy połączone gniazdo blokuje możliwość wysyłania większej ilości danych przez peer, czy żądania połączenia w gnieździe nasłuchującym są wysyłane za pomocą zdarzenia 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 po zamknięciu strony zdarzenia aplikacji (patrz SocketProperties.persistent). Wartość domyślna to „false”.

  • socketId

    liczba

    Identyfikator gniazda.

  • uuid

    string opcjonalny

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

SocketProperties

Właściwości

  • bufferSize

    number opcjonalny

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

  • nazwa

    string opcjonalny

    Ciąg znaków zdefiniowany przez aplikację powiązany z gniazdem.

  • trwałe,

    wartość logiczna opcjonalna

    Flaga wskazująca, czy gniazdo pozostaje otwarte po zamknięciu 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 natychmiast po wywołaniu funkcji. Gniazdo jest jednak zamykane dopiero po wywołaniu funkcji zwrotnej.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy 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,
)
: Promise<void>

Łączy gniazdo ze zdalnym urządzeniem Bluetooth. Gdy operacja connect zakończy się pomyślnie, po otrzymaniu danych od urządzenia równorzędnego wywoływane są zdarzenia onReceive. Jeśli podczas odbierania pakietów przez środowisko wykonawcze wystąpi błąd sieci, zostanie wywołane zdarzenie onReceiveError. Od tego momentu do czasu wywołania metody setPaused(false) dla tego gniazda nie będzie wywoływane żadne zdarzenie onReceive.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • adres

    ciąg znaków

    Adres urządzenia Bluetooth.

  • uuid

    ciąg znaków

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

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

create()

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

Tworzy gniazdo Bluetooth.

Parametry

  • usługi

    SocketProperties opcjonalny

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

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (createInfo: CreateInfo) => void

Zwroty

  • Promise<CreateInfo>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

disconnect()

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

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

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą 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

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Obiekt zawierający informacje o gnieździe.

Zwroty

  • Promise<SocketInfo>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą 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

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (sockets: SocketInfo[]) => void

Zwroty

  • Promise<SocketInfo[]>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy 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,
)
: Promise<void>

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

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • uuid

    ciąg znaków

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

  • Opcje

    ListenOptions opcjonalnie

    Opcjonalne dodatkowe opcje usługi.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy 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,
)
: Promise<void>

nasłuchiwać połączeń za pomocą protokołu RFCOMM;

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • uuid

    ciąg znaków

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

  • Opcje

    ListenOptions opcjonalnie

    Opcjonalne dodatkowe opcje usługi.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.

send()

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

Wysyła dane na podanym gnieździe Bluetooth.

Parametry

  • socketId

    liczba

    Identyfikator gniazda.

  • dane

    ArrayBuffer

    Dane do wysłania.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    (bytesSent: number) => void

    • bytesSent

      liczba

      Liczba wysłanych bajtów.

Zwroty

  • Promise<number>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą 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 jego odpowiednika albo akceptowanie nowych połączeń przez gniazdo nasłuchujące. Wartość domyślna to „false”. Wstrzymywanie połączonego gniazda jest zwykle używane przez aplikację do ograniczania danych wysyłanych przez jej odpowiednik. Gdy połączone gniazdo jest wstrzymane, nie jest wywoływane żadne zdarzenie onReceive. Gdy gniazdo jest połączone i odwieszone, zdarzenia onReceive są ponownie wywoływane po otrzymaniu wiadomości. Gdy gniazdo nasłuchujące jest wstrzymane, nowe połączenia są akceptowane, dopóki jego kolejka nie zostanie zapełniona. 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

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą 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 do zaktualizowania.

  • callback

    funkcja opcjonalna

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 91 lub nowsza

    Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą 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 podczas oczekiwania środowiska wykonawczego na nowe połączenia na danym 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 onAccept dla tego gniazda.

Parametry

onReceive

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

Zdarzenie wywoływane po otrzymaniu 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