chrome.bluetoothSocket

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 mit getSockets abgerufen werden.

Methoden

close()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

connect()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

create()

Promise
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Erstellt einen Bluetooth-Socket.

Parameter

  • Properties

    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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

disconnect()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getInfo()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getSockets()

Promise
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

Ausgabe

  • Promise<SocketInfo[]>

    Chrome 91 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

listenUsingL2cap()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

listenUsingRfcomm()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

send()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setPaused()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

update()

Promise
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öher

    Promises 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

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

onReceive

chrome.bluetoothSocket.onReceive.addListener(
  callback: function,
)

Ereignis, das ausgelöst wird, wenn Daten für einen bestimmten Socket empfangen wurden.

Parameter

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