chrome.bluetoothSocket

Beschreibung

Mit der chrome.bluetoothSocket API können Sie Daten über RFCOMM- und L2CAP-Verbindungen an Bluetooth-Geräte senden und von ihnen empfangen.

Verfügbarkeit

Nur ChromeOS

Manifest

Die folgenden Schlüssel müssen im Manifest deklariert werden, um diese API zu verwenden.

"bluetooth"

Typen

AcceptError

Enum

"system_error"
Ein Systemfehler ist aufgetreten und die Verbindung kann möglicherweise nicht wiederhergestellt werden.

"not_listening"
Der Socket wartet nicht auf Verbindungen.

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 anfangs pausiert ist und von der Anwendung explizit fortgesetzt werden muss, um Daten zu empfangen.

  • 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 Warteschlange des Sockets. Der Standardwert hängt vom Hostsubsystem 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 keine Angabe erfolgt, wird automatisch ein nicht verwendeter Kanal zugewiesen.

  • psm

    number optional

    Der von listenUsingL2cap verwendete L2CAP-PSM. Wenn angegeben, darf dieser 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"
Ein Systemfehler ist aufgetreten und die Verbindung kann möglicherweise nicht wiederhergestellt werden.

"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 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 bereitgestellt.

  • 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, weitere Daten zu senden, oder ob Verbindungsanfragen an einem überwachten Socket über das Ereignis onAccept weitergeleitet oder in der Warteschlange für die Überwachung eingereiht 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. 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

    Boolesch optional

    Flag, das angibt, ob der Socket geöffnet bleibt, wenn die Ereignisseite der Anwendung entladen wird (siehe Lebenszyklus der App 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 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. Der Socket wird jedoch garantiert erst geschlossen, wenn der Callback aufgerufen wird.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 91 oder 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 den Socket mit einem Bluetooth-Remotegerät. Wenn der Vorgang connect 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. Danach wird für diesen Socket kein onReceive-Ereignis 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

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 91 oder 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

    function optional

    Der Parameter callback sieht so aus:

    (createInfo: CreateInfo) => void

    • createInfo

      Das Ergebnis der Socket-Erstellung.

Ausgabe

  • Promise<CreateInfo>

    Chrome 91 oder 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 zum Socket. Die Socket-ID bleibt gültig.

Parameter

  • socketId

    Zahl

    Die Socket-ID.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 91 oder 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

    function optional

    Der Parameter callback sieht so aus:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objekt mit den Socket-Informationen.

Ausgabe

  • Promise<SocketInfo>

    Chrome 91 oder 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 zur Anwendung gehören.

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (sockets: SocketInfo[]) => void

    • Sockets

      Array von Objekten mit Socket-Informationen.

Ausgabe

  • Promise<SocketInfo[]>

    Chrome 91 oder 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

    Dienst-UUID, auf die gewartet werden soll.

  • Optionen

    ListenOptions optional

    Optionale zusätzliche Optionen für den Dienst.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 91 oder 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

    Dienst-UUID, auf die gewartet werden soll.

  • Optionen

    ListenOptions optional

    Optionale zusätzliche Optionen für den Dienst.

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 91 oder 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

    function optional

    Der Parameter callback sieht so aus:

    (bytesSent: number) => void

    • bytesSent

      Zahl

      Die Anzahl der gesendeten Bytes.

Ausgabe

  • Promise<number>

    Chrome 91 oder 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 durch einen verbundenen Socket oder die Annahme neuer Verbindungen durch einen überwachenden Socket. Der Standardwert lautet „false“. Das Pausieren eines verbundenen Sockets wird von einer Anwendung normalerweise 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 nicht pausiert ist, 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 der Socket nicht pausiert ist.

Parameter

  • socketId

    Zahl

  • pausiert

    boolean

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 91 oder 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

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 91 oder 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 aufgetreten ist, während die Laufzeit auf neue Verbindungen am angegebenen Socket gewartet hat. 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 aufgetreten ist, während die Laufzeit auf Daten am Socket gewartet hat. 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