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
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. ZobaczsetPaused
. 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()
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()
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()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Tworzy gniazdo Bluetooth.
Parametry
-
usługi
SocketProperties – opcjonalne
Właściwości gniazda (opcjonalnie).
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(createInfo: CreateInfo) => void
-
createInfo
Wynik utworzenia gniazda.
-
Zwroty
-
Promise<CreateInfo>
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()
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()
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<SocketInfo>
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()
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
-
gniazda
-
Zwroty
-
Promise<SocketInfo[]>
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()
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()
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()
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<number>
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()
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()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aktualizuje właściwości gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
usługi
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
-
informacje
-
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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: AcceptErrorInfo) => void
-
informacje
-
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
-
informacje
-
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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-