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
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. ZobaczsetPaused
. 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ą parametrugetSockets
.
Metody
close()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
connect()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
create()
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
-
createInfo
Wynik tworzenia gniazda.
-
Zwroty
-
Obietnica<CreateInfo>
Chrome 91 lub nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
disconnect()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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
function opcjonalny
Parametr
callback
ma postać:(socketInfo: SocketInfo) => void
-
socketInfo
Obiekt zawierający informacje o gnieździe.
-
Zwroty
-
Promise<SocketInfo>
Chrome 91 lub nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
getSockets()
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
-
gniazda
-
Zwroty
-
Promise<SocketInfo[]>
Chrome 91 lub nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
listenUsingL2cap()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
listenUsingRfcomm()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
send()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy używać wywołań zwrotnych.
setPaused()
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 nowszyObietnice są obsługiwane tylko w przypadku pliku manifestu w wersji 3 lub nowszej, na innych platformach należy 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
function opcjonalny
Parametr
callback
ma postać:() => void
Zwroty
-
Obietnica<void>
Chrome 91 lub nowszyObietnice 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
-
informacje
-
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
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(info: AcceptErrorInfo) => void
-
informacje
-
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
-
informacje
-
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
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(info: ReceiveErrorInfo) => void
-
informacje
-