chrome.bluetoothSocket

Beschreibung

Verwenden Sie die chrome.bluetoothSocket API, um über RFCOMM- und L2CAP-Verbindungen Daten an Bluetooth-Geräte zu senden und zu 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"
Es ist ein Systemfehler aufgetreten und die Verbindung ist möglicherweise nicht wiederherstellbar.

"not_listening"
Der Socket hört nicht zu.

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-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 angehalten 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 von dieser API erstellte 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

    Zahl optional

    Länge der Warteschlange für die Überwachung des Sockets. Der Standardwert hängt vom Hostsubsystem des Betriebssystems ab.

  • Kanal

    Zahl optional

    Der von listenUsingRfcomm verwendete RFCOMM-Kanal. Wenn angegeben, darf dieser Kanal nicht bereits verwendet werden, da der Methodenaufruf sonst fehlschlägt. Wenn keine Angabe erfolgt, wird automatisch ein nicht verwendeter Kanal zugewiesen.

  • PSM

    Zahl optional

    Der von listenUsingL2cap verwendete L2CAP PSM. Wenn angegeben, darf dieser PSM nicht schon einmal verwendet werden oder der Methodenaufruf mit „fail“. Wenn keine Angabe erfolgt, wird automatisch ein nicht verwendeter PSM zugewiesen.

ReceiveError

Enum

"disconnected"
Die Verbindung wurde getrennt.

"system_error"
Es ist ein Systemfehler aufgetreten und die Verbindung ist möglicherweise nicht wiederherstellbar.

"not_connected"
Der Socket wurde nicht verbunden.

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 das zugrunde liegende Socket verbunden ist, enthält es die Bluetooth-Adresse des Geräts, mit dem es verbunden ist.

  • bufferSize

    Zahl optional

    Die Größe des Zwischenspeichers, der für den Empfang 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 seinen Peer daran hindert, mehr Daten zu senden, oder ob Verbindungsanfragen an einen wartenden Socket über das onAccept-Ereignis weitergeleitet oder im Rückstand der Warteschlange für die Warteschleife weitergeleitet 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 über die Dienst-UUID, mit der er verbunden ist. Andernfalls enthält er Informationen über die Dienst-UUID, die er überwacht, wenn der zugrunde liegende Socket den Dienst überwacht.

SocketProperties

Attribute

  • bufferSize

    Zahl optional

    Die Größe des Zwischenspeichers, der für den Empfang von Daten verwendet wird. Der Standardwert ist 4.096.

  • Name

    String optional

    Ein anwendungsdefinierter String, der dem Socket zugeordnet ist.

  • nichtflüchtige

    Boolescher Wert 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.. Beim Laden der Anwendung können alle Sockets, die zuvor mit persistent=true geöffnet wurden, mit getSockets abgerufen werden.

Methoden

close()

<ph type="x-smartling-placeholder"></ph> 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. Allerdings wird der Socket nur dann garantiert geschlossen, wenn der Callback aufgerufen wird.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 91 und höher

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

connect()

<ph type="x-smartling-placeholder"></ph> 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 ein Netzwerkfehler auftritt, während die Laufzeit Pakete empfängt, wird ein onReceiveError-Ereignis ausgelöst. Dann wird kein onReceive-Ereignis für diesen Socket mehr ausgelöst, bis die Methode setPaused(false) aufgerufen wird.

Parameter

  • 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 91 und höher

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

create()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)

Erstellt einen Bluetooth-Socket.

Parameter

  • Properties

    SocketPropertiesoptional

    Die Socket-Eigenschaften (optional).

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (createInfo: CreateInfo) => void

    • createInfo

      Das Ergebnis der Socket-Erstellung.

Gibt Folgendes zurück:

  • Promise&lt;CreateInfo&gt;

    Chrome 91 und höher

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

disconnect()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)

Trennt den Socket. Die Socket-ID bleibt gültig.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 91 und höher

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

getInfo()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)

Ruft den Status des angegebenen Sockets ab.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objekt, das die Socket-Informationen enthält.

Gibt Folgendes zurück:

  • Promise&lt;SocketInfo&gt;

    Chrome 91 und höher

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

getSockets()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.getSockets(
  callback?: function,
)

Ruft die Liste der aktuell geöffneten Sockets ab, die der Anwendung gehören.

Parameter

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (sockets: SocketInfo[]) => void

Gibt Folgendes zurück:

  • Promise&lt;SocketInfo[]&gt;

    Chrome 91 und höher

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

listenUsingL2cap()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Achten Sie auf Verbindungen mit dem L2CAP-Protokoll.

Parameter

  • 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 91 und höher

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

listenUsingRfcomm()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)

Warte auf Verbindungen mit dem RFCOMM-Protokoll.

Parameter

  • 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: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 91 und höher

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

send()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)

Sendet Daten über den angegebenen Bluetooth-Anschluss.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Daten

    ArrayBuffer

    Die zu sendenden Daten.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (bytesSent: number) => void

    • bytesSent

      Zahl

      Die Anzahl der gesendeten Byte.

Gibt Folgendes zurück:

  • Promise&lt;number&gt;

    Chrome 91 und höher

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

setPaused()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Aktiviert oder deaktiviert einen verbundenen Socket für den Empfang von Nachrichten von seinem Peer oder einen Überwachungs-Socket für den Empfang neuer Verbindungen. Der Standardwert lautet „false“. Das Pausieren eines verbundenen Sockets wird in der Regel von Anwendungen 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 beim Empfang von Nachrichten wieder ausgelöst. Wenn ein Überwachungs-Socket angehalten wird, werden neue Verbindungen angenommen, bis der Rückstand voll ist. Dann werden weitere Verbindungsanfragen abgelehnt. onAccept-Ereignisse werden nur ausgelöst, wenn die Pausierung des Sockets aufgehoben wird.

Parameter

  • socketId

    Zahl

  • pausiert

    boolean

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 91 und höher

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

update()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Aktualisiert die Socket-Eigenschaften.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Properties

    Die zu aktualisierenden Eigenschaften.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 91 und höher

    Promise-Objekte 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: <ph type="x-smartling-placeholder"></ph>

    (info: AcceptInfo) => void

onAcceptError

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

Das Ereignis wird ausgelöst, wenn ein Netzwerkfehler aufgetreten ist, während die Laufzeit auf neue Verbindungen am 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: <ph type="x-smartling-placeholder"></ph>

    (info: AcceptErrorInfo) => void

onReceive

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

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

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (info: ReceiveInfo) => void

onReceiveError

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

Das Ereignis wird ausgelöst, wenn ein Netzwerkfehler auftrat, während die Laufzeit auf Daten im Socket wartete. 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