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. ZobaczsetPaused
. 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ą parametrugetSockets
.
Metody
close()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
connect()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 (opcjonalne).
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(createInfo: CreateInfo) => void
-
createInfo
Wynik utworzenia gniazda.
-
Akcje powrotne
-
Promise<CreateInfo>
Chrome 91 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
disconnect()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 opcjonalnie
Parametr
callback
wygląda tak:(sockets: SocketInfo[]) => void
-
gniazdka
-
Akcje powrotne
-
Promise<SocketInfo[]>
Chrome 91 i nowsze wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
listenUsingL2cap()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
listenUsingRfcomm()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
setPaused()
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 wersjeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. 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 opcjonalnie
Parametr
callback
wygląda tak:() => void
Akcje powrotne
-
Promise<void>
Chrome 91 i nowsze wersjeObietnice 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
-
informacje
-
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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: AcceptErrorInfo) => void
-
informacje
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Zdarzenie wywoływane po odebraniu 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 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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(info: ReceiveErrorInfo) => void
-
informacje
-