chrome.bluetoothSocket

Opis

Używaj interfejsu API chrome.bluetoothSocket do wysyłania i odbierania danych do urządzeń Bluetooth przy użyciu połączeń RFCOMM i L2CAP.

Plik manifestu

Aby można było używać tego interfejsu API, następujące klucze muszą być zadeklarowane w pliku manifestu.

"bluetooth"

Typy

AcceptError

Enum

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

"not_listening"
Gniazdo nie słucha.

AcceptErrorInfo

Właściwości

  • error

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

  • errorMessage

    string,

    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 w przypadku funkcji z przestrzeni nazw chrome.bluetoothSocket. Pamiętaj, że gniazdo klienta jest początkowo wstrzymane i aplikacja musi je wyraźnie wznowić, by odbierać dane.

  • socketId

    Liczba

    Identyfikator gniazda serwera.

CreateInfo

Właściwości

  • socketId

    Liczba

    Identyfikator nowo utworzonego gniazda. Identyfikatory gniazd utworzone za pomocą tego interfejsu API są niezgodne z identyfikatorami gniazd utworzonymi z innych interfejsów API, takich jak interfejs API [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 określisz, ten kanał nie może być wcześniej używany. W przeciwnym razie wywołanie metody zakończy się niepowodzeniem. Jeśli go nie podasz, nieużywany kanał zostanie przydzielony automatycznie.

  • psm

    Liczba opcjonalnie

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

ReceiveError

Enum

"disconnect"
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 podłączone.

ReceiveErrorInfo

Właściwości

  • error

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

  • errorMessage

    string,

    Komunikat o błędzie.

  • socketId

    Liczba

    Identyfikator gniazda.

ReceiveInfo

Właściwości

  • dane

    ArrayBuffer

    Dane zostały odebrane, maksymalny rozmiar to bufferSize.

  • socketId

    Liczba

    Identyfikator gniazda.

SocketInfo

Właściwości

  • adres

    ciąg znaków opcjonalny

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

  • bufferSize

    Liczba opcjonalnie

    Rozmiar bufora używanego do odbierania danych. Jeśli rozmiar bufora nie zostanie wyraźnie określony, wartość nie zostanie podana.

  • Połączono

    boolean

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

  • nazwa

    ciąg znaków opcjonalny

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

  • wstrzymane

    boolean

    Flaga określająca, czy podłączone gniazdo blokuje port równorzędne przed wysyłaniem większej ilości danych lub czy żądania połączenia ze gniazda nasłuchu są wysyłane przez zdarzenie onAccept lub umieszczane w kolejce zaległości w kolejce nasłuchiwania. Zobacz setPaused. Wartość domyślna to „false”.

  • trwałe

    boolean

    Flaga wskazująca, czy gniazdo pozostaje otwarte po wyładowaniu strony zdarzenia aplikacji (patrz: SocketProperties.persistent). Wartość domyślna to „false”.

  • socketId

    Liczba

    Identyfikator gniazda.

  • uuid

    ciąg znaków opcjonalny

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

SocketProperties

Właściwości

  • bufferSize

    Liczba opcjonalnie

    Rozmiar bufora używanego do odbierania danych. Wartość domyślna to 4096.

  • nazwa

    ciąg znaków opcjonalny

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

  • trwałe

    wartość logiczna opcjonalna

    Flaga z informacją, czy gniazdo jest otwarte po wyładowaniu strony zdarzenia aplikacji (patrz Zarządzanie cyklem życia aplikacji). Wartością domyślną jest false.. Gdy aplikacja jest załadowana, wszystkie gniazda otwarte wcześniej z parametrem trwałym=true mogą zostać pobrane za pomocą parametru getSockets.

Metody

close()

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

Odłącza i niszczy gniazdo. Każde utworzone gniazdo powinno zostać zamknięte po użyciu. Identyfikator gniazda nie jest już prawidłowy od razu po wywołaniu funkcji. Gwarantujemy jednak zamknięcie gniazda tylko po wywołaniu wywołania zwrotnego.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 91 i nowsze wersje

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

connect()

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

Łączy gniazdo ze zdalnym urządzeniem Bluetooth. Gdy operacja connect zakończy się powodzeniem, po odebraniu danych z peera wywoływane są zdarzenia onReceive. Jeśli podczas odbierania pakietów przez środowisko wykonawcze wystąpi błąd sieci, zostanie zainicjowane zdarzenie onReceiveError. Od tego momentu dla tego gniazda nie będzie już wywoływane zdarzenie onReceive, dopóki nie zostanie wywołana metoda setPaused(false).

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • adres

    string,

    Adres urządzenia Bluetooth.

  • uuid

    string,

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

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 91 i nowsze wersje

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

create()

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

Tworzy gniazdo Bluetooth.

Parametry

  • usługi

    SocketProperties opcjonalne

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

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (createInfo: CreateInfo)=>void

Akcje powrotne

  • Promise<CreateInfo>

    Chrome 91 i nowsze wersje

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

disconnect()

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

Odłącza gniazdko. Identyfikator gniazda pozostaje prawidłowy.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 91 i nowsze wersje

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

    Parametr callback wygląda tak:

    (socketInfo: SocketInfo)=>void

    • socketInfo

      Obiekt zawierający informacje o gnieździe.

Akcje powrotne

  • Promise<SocketInfo>

    Chrome 91 i nowsze wersje

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

    Parametr callback wygląda tak:

    (sockets: SocketInfo[])=>void

Akcje powrotne

  • Promise<SocketInfo[]>

    Chrome 91 i nowsze wersje

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

listenUsingL2cap()

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

Wykrywaj połączenia korzystające z protokołu L2CAP.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • uuid

    string,

    UUID usługi nasłuchiwania.

  • Opcje

    Opcjonalnie ListenOptions

    Opcjonalne dodatkowe opcje usługi.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 91 i nowsze wersje

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

listenUsingRfcomm()

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

Wykrywaj połączenia przy użyciu protokołu RFCOMM.

Parametry

  • socketId

    Liczba

    Identyfikator gniazda.

  • uuid

    string,

    UUID usługi nasłuchiwania.

  • Opcje

    Opcjonalnie ListenOptions

    Opcjonalne dodatkowe opcje usługi.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 91 i nowsze wersje

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

    ArrayBuffer

    Dane do wysłania.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (bytesSent: number)=>void

    • bytesSent

      Liczba

      Liczba wysłanych bajtów.

Akcje powrotne

  • Obietnica<number>

    Chrome 91 i nowsze wersje

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

setPaused()

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

Włącza lub wyłącza możliwość odbierania przez podłączone gniazdo wiadomości od jego peera lub akceptowanie nowych połączeń przez gniazdo nasłuchujące. Wartość domyślna to „false”. Wstrzymanie podłączonego gniazdka jest zwykle stosowane przez aplikację do ograniczania ilości danych wysyłanych przez jego połączenie. Wstrzymanie podłączonego gniazdka nie powoduje zgłaszania żadnego zdarzenia onReceive. Po podłączeniu gniazdka i wznowieniu jego działania zdarzenia onReceive zostaną podniesione ponownie po odebraniu wiadomości. Gdy gniazdo nasłuchujące jest wstrzymane, nowe połączenia są akceptowane do momentu zapełnienia zaległości, a dodatkowe żądania połączenia są odrzucane. Zdarzenia onAccept są podnoszone tylko wtedy, gdy gniazdo zostanie wznowione.

Parametry

  • socketId

    Liczba

  • wstrzymane

    boolean

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 91 i nowsze wersje

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

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 91 i nowsze wersje

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

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (info: AcceptInfo)=>void

onAcceptError

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

Zdarzenie zgłaszane, gdy wystąpił błąd sieci, gdy środowisko wykonawcze czekało na nowe połączenia z danym gniazdem. Po podniesieniu tego zdarzenia gniazdo jest ustawione na paused i nie jest już wywoływane to zdarzenie onAccept.

Parametry

onReceive

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

Zdarzenie wywoływane po odebraniu danych z danego gniazda.

Parametry

onReceiveError

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

Zdarzenie to zostało zgłoszone, gdy wystąpił błąd sieci w czasie, gdy środowisko wykonawcze czekało na dane w gnieździe. Po podniesieniu tego zdarzenia gniazdo jest ustawione na paused i nie jest już wywoływane to zdarzenie onReceive.

Parametry