chrome.bluetoothSocket

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

Methoden

close()

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

connect()

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

create()

Versprechen
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

Erstellt einen Bluetooth-Socket.

Parameters

  • Properties

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

disconnect()

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getInfo()

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

getSockets()

Versprechen
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

Rückgaben

  • Promise<SocketInfo[]>

    Chrome 91 und höher

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

listenUsingL2cap()

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

listenUsingRfcomm()

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

send()

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

setPaused()

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

    Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Andere Plattformen müssen Callbacks verwenden.

update()

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

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

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

onReceive

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

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

Parameters

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