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
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. ZobaczsetPaused
. 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()
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
connect()
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
create()
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
-
createInfo
Wynik utworzenia gniazda.
-
Zwroty
-
Promise<CreateInfo>
Chrome 91 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
disconnect()
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getInfo()
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getSockets()
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
-
gniazda,
-
Zwroty
-
Promise<SocketInfo[]>
Chrome 91 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
listenUsingL2cap()
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
listenUsingRfcomm()
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
send()
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
setPaused()
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 nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Aktualizuje właściwości gniazda.
Parametry
-
socketId
liczba
Identyfikator gniazda.
-
usługi
Właściwości do zaktualizowania.
-
callback
funkcja opcjonalna
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 91 lub nowszaObietnice 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
-
informacje
-
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
-
callback
funkcja
Parametr
callback
wygląda tak:(info: AcceptErrorInfo) => void
-
informacje
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Zdarzenie wywoływane po otrzymaniu danych dla danego gniazda.
Parametry
-
callback
funkcja
Parametr
callback
wygląda tak:(info: ReceiveInfo) => void
-
informacje
-
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
-
callback
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-