Beschreibung
Mit der chrome.bluetoothSocket
API kannst du über RFCOMM- und L2CAP-Verbindungen Daten an Bluetooth-Geräte senden und von ihnen empfangen.
Manifest
Die folgenden Schlüssel müssen im Manifest deklariert werden, um diese API verwenden zu können.
"bluetooth"
Typen
AcceptError
Enum
"system_error"
Ein Systemfehler ist aufgetreten und die Verbindung ist möglicherweise nicht wiederherstellbar.
"not_listening"
Der Socket prüft nicht.
AcceptErrorInfo
Attribute
-
error
Ein Fehlercode, der angibt, was schiefgelaufen ist.
-
errorMessage
String
Die Fehlermeldung.
-
socketId
Zahl
Die Server-Socket-ID.
AcceptInfo
Attribute
-
clientSocketId
Zahl
Die Client-Socket-ID, d.h. die Socket-ID der neu hergestellten Verbindung. Diese Socket-ID sollte nur mit Funktionen aus dem Namespace
chrome.bluetoothSocket
verwendet werden. Beachten Sie, dass der Client-Socket anfänglich pausiert ist und von der Anwendung explizit wieder aktiviert werden muss, um mit dem Empfang von Daten zu beginnen. -
socketId
Zahl
Die Server-Socket-ID.
CreateInfo
Attribute
-
socketId
Zahl
Die ID des neu erstellten Sockets. Beachten Sie, dass die von dieser API erstellten Socket-IDs nicht mit Socket-IDs kompatibel sind, die von anderen APIs wie der
[
Sockets.tcp](../sockets_tcp/)
-API erstellt wurden.
ListenOptions
Attribute
-
Rückstand
Nummer optional
Länge der Überwachungswarteschlange des Sockets. Der Standardwert hängt vom Hostsubsystem des Betriebssystems ab.
-
Kanal
Nummer optional
Der von
listenUsingRfcomm
verwendete RFCOMM-Kanal. Wenn angegeben, darf dieser Kanal nicht zuvor verwendet werden. Andernfalls schlägt der Methodenaufruf fehl. Wenn keine Angabe erfolgt, wird automatisch ein nicht verwendeter Kanal zugewiesen. -
PSM
Nummer optional
Das von
listenUsingL2cap
verwendete L2CAP-PSM. Wenn angegeben, darf dieses PSM nicht bereits verwendet werden oder der Methodenaufruf mit schlägt fehl. Wenn keine Angabe erfolgt, wird automatisch ein nicht verwendetes PSM zugewiesen.
ReceiveError
Enum
"disconnected"
Die Verbindung wurde getrennt.
"system_error"
Ein Systemfehler ist aufgetreten und die Verbindung ist möglicherweise nicht wiederherstellbar.
"not_connected"
Der Socket wurde nicht verbunden.
ReceiveErrorInfo
Attribute
-
error
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 es verbunden ist.
-
bufferSize
Nummer optional
Die Größe des Zwischenspeichers, der zum Empfangen von Daten verwendet wird. Wenn nicht explizit keine Puffergröße angegeben wurde, wird kein Wert 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 seinen Peer daran hindert, mehr Daten zu senden, oder ob Verbindungsanfragen auf einem wartenden Socket durch das Ereignis
onAccept
weitergeleitet oder im Rückstand der Warteschlange für die Überwachung 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 App 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 UUID des Diensts, mit dem er verbunden ist. Andernfalls enthält der zugrunde liegende Socket Informationen zur UUID des Dienstes, die überwacht wird.
SocketProperties
Attribute
-
bufferSize
Nummer optional
Die Größe des Zwischenspeichers, der zum Empfangen von Daten verwendet wird. Der Standardwert ist 4096.
-
name
String optional
Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.
-
nichtflüchtige
Boolescher Wert optional
Flag, das angibt, ob der Socket geöffnet ist, wenn die Ereignisseite der App entladen wird (siehe App-Lebenszyklus verwalten). Der Standardwert ist
false.
. Wenn die Anwendung geladen wird, können alle Sockets, die zuvor mit persistent=true geöffnet wurden, mitgetSockets
abgerufen werden.
Methoden
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
Trennt den Socket und zerstört ihn. Jeder erstellte Socket sollte nach der Verwendung geschlossen werden. Die Socket-ID ist nicht mehr gültig, sobald die Funktion aufgerufen wird. Der Socket wird jedoch nur dann garantiert, wenn der Callback aufgerufen wird.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
)
Verbindet die Steckdose mit einem Remote-Bluetooth-Gerät. Wenn der connect
-Vorgang erfolgreich abgeschlossen wurde, werden onReceive
-Ereignisse ausgelöst, wenn Daten vom Peer empfangen werden. Wenn beim Empfang von Paketen ein Netzwerkfehler auftritt, wird ein onReceiveError
-Ereignis ausgelöst. Dann wird für diesen Socket kein onReceive
-Ereignis mehr ausgelöst, bis die Methode setPaused(false)
aufgerufen wird.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
Adresse
String
Die Adresse des Bluetooth-Geräts.
-
uuid
String
Die UUID des Dienstes, zu dem eine Verbindung hergestellt werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Erstellt einen Bluetooth-Socket.
Parameters
-
Properties
SocketProperties optional
Die Socket-Eigenschaften (optional).
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(createInfo: CreateInfo) => void
-
createInfo
Das Ergebnis der Socket-Erstellung.
-
Rückgaben
-
Promise<CreateInfo>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
Trennt das Socket. Die Socket-ID ist weiterhin gültig.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
Ruft den Status des angegebenen Sockets ab.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(socketInfo: SocketInfo) => void
-
socketInfo
Objekt mit den Socket-Informationen.
-
Rückgaben
-
Promise<SocketInfo>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
Ruft die Liste der aktuell geöffneten Sockets ab, die der Anwendung gehören.
Parameters
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(sockets: SocketInfo[]) => void
-
Sockets
-
Rückgaben
-
Promise<SocketInfo[]>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Achten Sie auf Verbindungen mit dem L2CAP-Protokoll.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
uuid
String
Dienst-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
Rückgaben
-
Promise<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Überwachen Sie mithilfe des RFCOMM-Protokolls auf Verbindungen.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
uuid
String
Dienst-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
Rückgaben
-
Promise<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
)
Sendet Daten über die angegebene Bluetooth-Steckdose.
Parameters
-
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.
-
Rückgaben
-
Versprechen<Zahl>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Aktiviert oder deaktiviert einen verbundenen Socket am Empfang von Nachrichten von seinem Peer oder einen überwachenden Socket, der neue Verbindungen annimmt. Der Standardwert lautet „false“. Das Pausieren eines verbundenen Sockets wird normalerweise von einer Anwendung verwendet, um die von ihrem Peer gesendeten Daten zu drosseln. Wenn ein verbundener Socket pausiert wird, wird kein onReceive
-Ereignis ausgelöst. Wenn ein Socket verbunden und die Pausierung aufgehoben wird, werden onReceive
-Ereignisse wieder ausgelöst, wenn Nachrichten empfangen werden. Wenn ein wartender Socket pausiert ist, werden neue Verbindungen akzeptiert, bis der Rückstand voll ist. In diesem Fall werden zusätzliche Verbindungsanfragen abgelehnt. onAccept
-Ereignisse werden nur ausgelöst, wenn die Pausierung des Sockets aufgehoben wird.
Parameters
-
socketId
Zahl
-
pausiert
boolean
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aktualisiert die Socket-Attribute.
Parameters
-
socketId
Zahl
Die Socket-ID.
-
Properties
Die zu aktualisierenden Attribute.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgaben
-
Promise<void>
Chrome 91 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.
Veranstaltungen
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Ereignis, das ausgelöst wird, wenn eine Verbindung für einen bestimmten Socket hergestellt wurde.
Parameters
-
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 aufgetreten ist, während die Laufzeit auf neue Verbindungen auf dem angegebenen Socket gewartet hat. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused
gesetzt und es werden keine onAccept
-Ereignisse mehr für diesen Socket ausgelöst.
Parameters
-
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.
Parameters
-
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 aufgetreten ist, während die Laufzeit auf Daten auf dem Socket gewartet hat. Sobald dieses Ereignis ausgelöst wird, wird der Socket auf paused
gesetzt und es werden keine onReceive
-Ereignisse mehr für diesen Socket ausgelöst.
Parameters
-
callback
Funktion
Der Parameter
callback
sieht so aus:(info: ReceiveErrorInfo) => void
-
Info
-