Beschreibung
Mit der chrome.bluetoothSocket
API können Sie Daten über RFCOMM- und L2CAP-Verbindungen an Bluetooth-Geräte senden und von Bluetooth-Geräten empfangen.
Manifest
Die folgenden Schlüssel müssen im Manifest deklariert werden, damit diese API verwendet werden kann.
"bluetooth"
Typen
AcceptError
Enum
„system_error“
Es ist ein Systemfehler aufgetreten und die Verbindung kann möglicherweise nicht wiederhergestellt werden.
not_listening
Der Socket empfängt keine Daten.
AcceptErrorInfo
Attribute
-
Fehler
Ein Fehlercode, der angibt, was schiefgelaufen ist.
-
errorMessage
String
Die Fehlermeldung.
-
socketId
Zahl
Die Server-Socket-ID.
AcceptInfo
Attribute
-
clientSocketId
Zahl
Die Client-Socket-Kennung, d.h. die Socket-Kennung der neu hergestellten Verbindung. Diese Socket-Kennung sollte nur mit Funktionen aus dem Namespace
chrome.bluetoothSocket
verwendet werden. Der Client-Socket ist anfangs pausiert und muss von der Anwendung explizit reaktiviert werden, damit Daten empfangen werden können. -
socketId
Zahl
Die Server-Socket-ID.
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets. Socket-IDs, die mit dieser API erstellt wurden, sind nicht mit Socket-IDs kompatibel, die mit anderen APIs wie der
[
sockets.tcp](../sockets_tcp/)
API erstellt wurden.
ListenOptions
Attribute
-
backlog
number optional
Länge der Listen-Warteschlange des Sockets. Der Standardwert hängt vom Host-Subsystem des Betriebssystems ab.
-
Kanal
number optional
Der von
listenUsingRfcomm
verwendete RFCOMM-Kanal. Wenn dieser Kanal angegeben ist, darf er nicht bereits verwendet werden, da der Methodenaufruf sonst fehlschlägt. Wenn kein Wert angegeben ist, wird automatisch ein nicht verwendeter Channel zugewiesen. -
psm
number optional
Der von
listenUsingL2cap
verwendete L2CAP-PSM. Wenn angegeben, darf dieses PSM nicht bereits verwendet werden, da der Methodenaufruf sonst fehlschlägt. Wenn keine Angabe erfolgt, wird automatisch ein nicht verwendetes PSM zugewiesen.
ReceiveError
Enum
„disconnected“
Die Verbindung wurde getrennt.
„system_error“
Es ist ein Systemfehler aufgetreten und die Verbindung kann möglicherweise nicht wiederhergestellt werden.
„not_connected“
Die Steckdose wurde nicht angeschlossen.
ReceiveErrorInfo
Attribute
-
Fehler
Ein Fehlercode, der angibt, was schiefgelaufen ist.
-
errorMessage
String
Die Fehlermeldung.
-
socketId
Zahl
Die Socket-ID.
ReceiveInfo
Attribute
-
Daten
ArrayBuffer
Die empfangenen Daten mit einer maximalen Größe von
bufferSize
. -
socketId
Zahl
Die Socket-ID.
SocketInfo
Attribute
-
Adresse
String optional
Wenn der zugrunde liegende Socket verbunden ist, enthält er die Bluetooth-Adresse des Geräts, mit dem er verbunden ist.
-
bufferSize
number optional
Die Größe des Puffers, der zum Empfangen von Daten verwendet wird. Wenn keine Puffergröße explizit angegeben wurde, wird der Wert nicht angegeben.
-
verbunden
boolean
Flag, das angibt, ob der Socket mit einem Remote-Peer verbunden ist.
-
name
String optional
Anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
pausiert
boolean
Flag, das angibt, ob ein verbundener Socket verhindert, dass sein Peer weitere Daten sendet, oder ob Verbindungsanfragen an einem Listening-Socket über das
onAccept
-Ereignis weitergeleitet oder in der Listenwarteschlange in die Warteschlange gestellt werden.setPaused
ansehen. Der Standardwert lautet „false“. -
nichtflüchtige
boolean
Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe
SocketProperties.persistent
). Der Standardwert ist „false“. -
socketId
Zahl
Die Socket-ID.
-
uuid
String optional
Wenn der zugrunde liegende Socket verbunden ist, enthält er Informationen zur Dienst-UUID, mit der er verbunden ist. Andernfalls, wenn der zugrunde liegende Socket auf Verbindungen wartet, enthält er Informationen zur Dienst-UUID, auf der er auf Verbindungen wartet.
SocketProperties
Attribute
-
bufferSize
number optional
Die Größe des Puffers, der zum Empfangen von Daten verwendet wird. Der Standardwert ist 4096.
-
name
String optional
Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
nichtflüchtige
boolean optional
Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe App-Lebenszyklus verwalten). Der Standardwert ist
false.
. Wenn die Anwendung geladen wird, können alle zuvor mit „persistent=true“ geöffneten Sockets mitgetSockets
abgerufen werden.
Methoden
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
): Promise<void>
Trennt die Verbindung und löscht den Socket. Jeder erstellte Socket sollte nach der Verwendung geschlossen werden. Die Socket-ID ist nicht mehr gültig, sobald die Funktion aufgerufen wird. Es wird jedoch garantiert, dass der Socket erst geschlossen wird, wenn der Callback aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
): Promise<void>
Verbindet die Steckdose mit einem Bluetooth-Gerät in der Nähe. Wenn der Vorgang connect
erfolgreich abgeschlossen wurde, werden onReceive
-Ereignisse ausgelöst, wenn Daten vom Peer empfangen werden. Wenn beim Empfang von Paketen durch die Laufzeit ein Netzwerkfehler auftritt, wird ein onReceiveError
-Ereignis ausgelöst. Danach wird für diesen Socket kein onReceive
-Ereignis mehr ausgelöst, bis die setPaused(false)
-Methode aufgerufen wird.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse des Bluetooth-Geräts.
-
uuid
String
Die UUID des Dienstes, mit dem eine Verbindung hergestellt werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Erstellt einen Bluetooth-Socket.
Parameter
-
Properties
SocketProperties optional
Die Socket-Attribute (optional).
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
Ausgabe
-
Promise<CreateInfo>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Trennt die Verbindung zur Steckdose. Die Socket-Kennung bleibt gültig.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Ruft den Status des angegebenen Sockets ab.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(socketInfo: SocketInfo) => void
-
socketInfo
Objekt mit den Socket-Informationen.
-
Ausgabe
-
Promise<SocketInfo>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Ruft die Liste der derzeit geöffneten Sockets ab, die der Anwendung gehören.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(sockets: SocketInfo[]) => void
-
Sockets
-
Ausgabe
-
Promise<SocketInfo[]>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Auf Verbindungen über das L2CAP-Protokoll warten.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
uuid
String
Service-UUID, die überwacht werden soll.
-
Optionen
ListenOptions optional
Optionale zusätzliche Optionen für den Dienst.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Auf Verbindungen über das RFCOMM-Protokoll warten.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
uuid
String
Service-UUID, die überwacht werden soll.
-
Optionen
ListenOptions optional
Optionale zusätzliche Optionen für den Dienst.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
): Promise<number>
Sendet Daten über den angegebenen Bluetooth-Socket.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Daten
ArrayBuffer
Die zu sendenden Daten.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(bytesSent: number) => void
-
bytesSent
Zahl
Die Anzahl der gesendeten Byte.
-
Ausgabe
-
Promise<number>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Aktiviert oder deaktiviert den Empfang von Nachrichten von einem Peer für einen verbundenen Socket oder das Annehmen neuer Verbindungen für einen Listening-Socket. Der Standardwert lautet „false“. Das Pausieren eines verbundenen Sockets wird in der Regel von einer Anwendung verwendet, um die von ihrem Peer gesendeten Daten zu drosseln. Wenn eine verbundene Steckdose pausiert wird, wird kein onReceive
-Ereignis ausgelöst. Wenn ein Socket verbunden und die Pause aufgehoben wird, werden onReceive
-Ereignisse wieder ausgelöst, wenn Nachrichten empfangen werden. Wenn ein Listening-Socket pausiert wird, werden neue Verbindungen akzeptiert, bis der Backlog voll ist. Danach werden zusätzliche Verbindungsanfragen abgelehnt. onAccept
-Ereignisse werden nur ausgelöst, wenn die Socket-Verbindung nicht pausiert ist.
Parameter
-
socketId
Zahl
-
pausiert
boolean
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Aktualisiert die Socket-Attribute.
Parameter
-
socketId
Zahl
Die Socket-ID.
-
Properties
Die zu aktualisierenden Attribute.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 91 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
Ereignisse
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn eine Verbindung für einen bestimmten Socket hergestellt wurde.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: AcceptInfo) => void
-
Info
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn ein Netzwerkfehler auftritt, während die Laufzeit auf neue Verbindungen über den angegebenen Socket wartet. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused
gesetzt und es werden keine weiteren onAccept
-Ereignisse für diesen Socket ausgelöst.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: AcceptErrorInfo) => void
-
Info
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn Daten für einen bestimmten Socket empfangen wurden.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveInfo) => void
-
Info
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn ein Netzwerkfehler auftritt, während die Laufzeit auf Daten im Socket wartet. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused
gesetzt und es werden keine weiteren onReceive
-Ereignisse für diesen Socket ausgelöst.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-