chrome.bluetoothSocket

Beschreibung

Verwenden Sie die chrome.bluetoothSocket API, um Daten über RFCOMM- und L2CAP-Verbindungen an Bluetooth-Geräte zu senden und von ihnen zu 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 wartet nicht.

AcceptErrorInfo

Attribute

  • Fehler

    Einen Fehlercode, der angibt, was genau 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. Der Client-Socket ist anfangs pausiert und muss von der Anwendung explizit entsperrt werden, damit Daten empfangen werden können.

  • socketId

    Zahl

    Die Server-Socket-ID.

CreateInfo

Attribute

  • socketId

    Zahl

    Die ID des neu erstellten Sockets. Hinweis: Socket-IDs, die über diese API erstellt wurden, sind nicht mit Socket-IDs kompatibel, die über andere APIs wie die [sockets.tcp](../sockets_tcp/) API erstellt wurden.

ListenOptions

Attribute

  • Backlog

    number optional

    Länge der Warteschlange des Sockets. Der Standardwert hängt vom Host-Subsystem des Betriebssystems ab.

  • Kanal

    number optional

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

  • psm

    number optional

    Der L2CAP PSM, der von listenUsingL2cap verwendet wird. Wenn angegeben, darf diese PSM nicht bereits verwendet werden, da der Methodenaufruf sonst fehlschlägt. 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 kann möglicherweise nicht wiederhergestellt werden.

„not_connected“
Der Anschluss ist nicht verbunden.

ReceiveErrorInfo

Attribute

  • Fehler

    Einen Fehlercode, der angibt, was genau 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 Buffers, der zum Empfangen von Daten verwendet wird. Wenn keine explizite Puffergröße angegeben wurde, wird kein Wert angegeben.

  • verbunden

    boolean

    Gibt an, ob der Socket mit einem Remote-Peer verbunden ist.

  • name

    String optional

    Anwendungsdefinierter String, der mit dem Socket verknüpft ist.

  • pausiert

    boolean

    Flag, das angibt, ob ein verbundener Socket seinen Peer daran hindert, weitere Daten zu senden, oder ob Verbindungsanfragen an einem wartenden Socket über das Ereignis onAccept gesendet oder in der Warteschlange für wartende Sockets eingereiht werden. setPaused ansehen. Der Standardwert lautet „false“.

  • nichtflüchtige

    boolean

    Gibt an, 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 UUID des Dienstes, mit dem er verbunden ist. Andernfalls enthält er Informationen zur UUID des Dienstes, auf den der zugrunde liegende Socket wartet.

SocketProperties

Attribute

  • bufferSize

    number optional

    Die Größe des Buffers, der zum Empfangen von Daten verwendet wird. Der Standardwert ist 4096.

  • name

    String optional

    Ein vom Nutzer definierter String, der mit dem Socket verknüpft ist.

  • nichtflüchtige

    boolescher Wert optional

    Gibt an, 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 Sockets, die zuvor mit „persistent=true“ geöffnet wurden, mit getSockets abgerufen werden.

Methoden

close()

Promise
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)

Trennt die Verbindung und zerstört 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 nur geschlossen wird, wenn der Rückruf aufgerufen wird.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 91 und höher

    Versprechen 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,
)

Verbindet die Steckdose mit einem externen Bluetooth-Gerät. Wenn der connect-Vorgang erfolgreich abgeschlossen wurde, werden onReceive-Ereignisse ausgelöst, wenn Daten vom Peer empfangen werden. Wenn während des Empfangs 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

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 91 und höher

    Versprechen 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,
)

Erstellt einen Bluetooth-Socket.

Parameter

  • Properties

    Die Socket-Eigenschaften (optional).

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (createInfo: CreateInfo) => void

    • createInfo

      Das Ergebnis der Socket-Erstellung.

Gibt Folgendes zurück:

  • Promise<CreateInfo>

    Chrome 91 und höher

    Versprechen 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,
)

Trennt die Steckdose. Die Socket-ID bleibt gültig.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 91 und höher

    Versprechen 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,
)

Ruft den Status des angegebenen Sockets ab.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objekt mit den Socket-Informationen.

Gibt Folgendes zurück:

  • Promise<SocketInfo>

    Chrome 91 und höher

    Versprechen 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,
)

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

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (sockets: SocketInfo[]) => void

Gibt Folgendes zurück:

  • Promise<SocketInfo[]>

    Chrome 91 und höher

    Versprechen 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,
)

Hört auf Verbindungen über das L2CAP-Protokoll.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • uuid

    String

    UUID des Dienstes, der überwacht werden soll.

  • Optionen

    ListenOptions optional

    Optionale zusätzliche Optionen für den Dienst.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 91 und höher

    Versprechen 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,
)

Hört auf Verbindungen über das RFCOMM-Protokoll.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • uuid

    String

    UUID des Dienstes, der überwacht werden soll.

  • Optionen

    ListenOptions optional

    Optionale zusätzliche Optionen für den Dienst.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 91 und höher

    Versprechen 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,
)

Sendet Daten über den angegebenen Bluetooth-Socket.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Daten

    ArrayBuffer

    Die zu sendenden Daten.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (bytesSent: number) => void

    • bytesSent

      Zahl

      Die Anzahl der gesendeten Byte.

Gibt Folgendes zurück:

  • Promise<number>

    Chrome 91 und höher

    Versprechen 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,
)

Hiermit wird festgelegt, ob ein verbundener Socket Nachrichten von seinem Peer empfangen oder ein Socket, der auf eingehende Verbindungen wartet, neue Verbindungen akzeptieren darf. Der Standardwert lautet „false“. Das Pausieren eines verbundenen Sockets wird in der Regel von einer Anwendung verwendet, um von ihrem Peer gesendete Daten zu drosseln. Wenn ein verbundener Socket pausiert wird, wird kein onReceive-Ereignis ausgelöst. Wenn ein Socket verbunden und nicht pausiert ist, werden onReceive-Ereignisse wieder ausgelöst, wenn Nachrichten empfangen werden. Wenn ein Socket pausiert wird, werden neue Verbindungen akzeptiert, bis der Backlog voll ist. Dann werden zusätzliche Verbindungsanfragen abgelehnt. onAccept-Ereignisse werden nur ausgelöst, wenn die Pausierung des Sockets aufgehoben wird.

Parameter

  • socketId

    Zahl

  • pausiert

    boolean

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 91 und höher

    Versprechen 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,
)

Aktualisiert die Socket-Eigenschaften.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • Properties

    Die zu aktualisierenden Properties.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 91 und höher

    Versprechen 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,
)

Dieses Ereignis wird ausgelöst, wenn ein Netzwerkfehler auftritt, während die Laufzeit auf neue Verbindungen am angegebenen Socket wartet. Sobald dieses Ereignis ausgelöst wurde, 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,
)

Dieses Ereignis wird ausgelöst, wenn ein Netzwerkfehler auftritt, während die Laufzeit auf Daten im Socket wartet. Sobald dieses Ereignis ausgelöst wurde, wird der Socket auf paused gesetzt und es werden keine weiteren onReceive-Ereignisse für diesen Socket ausgelöst.

Parameter