chrome.bluetoothSocket

Описание

Используйте API chrome.bluetoothSocket для отправки и получения данных на устройства Bluetooth с использованием соединений RFCOMM и L2CAP.

Доступность

Только для ChromeOS

Манифест

Для использования этого API в манифесте необходимо указать следующие ключи.

"bluetooth"

Типы

AcceptError

Перечисление

"system_error"
Произошла системная ошибка, и соединение может быть невосстановимым.

"не_слушает"
Сокет не принимает сигнал.

AcceptErrorInfo

Характеристики

  • ошибка

    Код ошибки, указывающий на причину неполадки.

  • сообщение об ошибке

    нить

    Сообщение об ошибке.

  • socketId

    число

    Идентификатор серверного сокета.

AcceptInfo

Характеристики

  • clientSocketId

    число

    Идентификатор клиентского сокета, то есть идентификатор сокета вновь установленного соединения. Этот идентификатор сокета следует использовать только с функциями из пространства имен chrome.bluetoothSocket . Обратите внимание, что клиентский сокет изначально приостановлен и должен быть явно разблокирован приложением для начала приема данных.

  • socketId

    число

    Идентификатор серверного сокета.

CreateInfo

Характеристики

  • socketId

    число

    Идентификатор вновь созданного сокета. Обратите внимание, что идентификаторы сокетов, созданные с помощью этого API, несовместимы с идентификаторами сокетов, созданными с помощью других API, таких как API [ sockets.tcp ](../sockets_tcp/) .

ListenOptions

Характеристики

  • невыполненные задачи

    число необязательно

    Длина очереди прослушивания сокета. Значение по умолчанию зависит от подсистемы хоста операционной системы.

  • канал

    число необязательно

    Канал RFCOMM, используемый функцией listenUsingRfcomm . Если указан, этот канал не должен быть ранее занят, иначе вызов метода завершится ошибкой. Если не указан, будет автоматически выделен неиспользуемый канал.

  • psm

    число необязательно

    PSM-объект L2CAP, используемый функцией listenUsingL2cap . Если он указан, этот PSM-объект не должен быть ранее использован, иначе вызов метода завершится ошибкой. Если он не указан, будет автоматически выделен неиспользуемый PSM-объект.

ReceiveError

Перечисление

«отключен»
Соединение было разорвано.

"system_error"
Произошла системная ошибка, и соединение может быть невосстановимым.

"не_подключено"
Розетка не подключена.

ReceiveErrorInfo

Характеристики

  • ошибка

    Код ошибки, указывающий на причину неполадки.

  • сообщение об ошибке

    нить

    Сообщение об ошибке.

  • socketId

    число

    Идентификатор сокета.

ReceiveInfo

Характеристики

  • данные

    ArrayBuffer

    Полученные данные имеют максимальный размер bufferSize .

  • socketId

    число

    Идентификатор сокета.

SocketInfo

Характеристики

  • адрес

    строка необязательный

    Если соответствующий разъем подключен, он содержит Bluetooth-адрес устройства, к которому он подключен.

  • размер буфера

    число необязательно

    Размер буфера, используемого для приема данных. Если размер буфера не указан явно, значение не предоставляется.

  • подключенный

    логический

    Флаг, указывающий, подключен ли сокет к удаленному узлу.

  • имя

    строка необязательный

    Строка, определяемая приложением и связанная с сокетом.

  • пауза

    логический

    Флаг, указывающий, блокирует ли подключенный сокет отправку дополнительных данных своим соседям, или же запросы на подключение к прослушивающему сокету обрабатываются через событие onAccept или ставятся в очередь ожидания. См. setPaused . Значение по умолчанию — "false".

  • настойчивый

    логический

    Флаг, указывающий, остаётся ли сокет открытым после выгрузки страницы событий приложения (см. SocketProperties.persistent ). Значение по умолчанию — «false».

  • socketId

    число

    Идентификатор сокета.

  • uuid

    строка необязательный

    Если базовый сокет подключен, содержит информацию об UUID службы, к которой он подключен; в противном случае, если базовый сокет находится в режиме прослушивания, содержит информацию об UUID службы, на которой он прослушивает.

SocketProperties

Характеристики

  • размер буфера

    число необязательно

    Размер буфера, используемого для приема данных. Значение по умолчанию — 4096.

  • имя

    строка необязательный

    Строка, определяемая приложением и связанная с сокетом.

  • настойчивый

    логический необязательный

    Флаг, указывающий, остаётся ли сокет открытым при выгрузке страницы событий приложения (см. раздел «Управление жизненным циклом приложения »). Значение по умолчанию — false. При загрузке приложения любые сокеты, ранее открытые с параметром persistent=true, могут быть получены с помощью getSockets .

Методы

close()

Обещать
chrome.bluetoothSocket.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Функция отключает и уничтожает сокет. Каждый созданный сокет должен быть закрыт после использования. Идентификатор сокета становится недействительным сразу после вызова функции. Однако гарантируется, что сокет будет закрыт только при вызове функции обратного вызова.

Параметры

  • socketId

    число

    Идентификатор сокета.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

connect()

Обещать
chrome.bluetoothSocket.connect(
  socketId: number,
  address: string,
  uuid: string,
  callback?: function,
)
: Promise<void>

Подключает сокет к удаленному устройству Bluetooth. После успешного завершения операции connect генерируются события onReceive при получении данных от партнера. Если во время приема пакетов в среде выполнения возникает сетевая ошибка, генерируется событие onReceiveError , после чего для этого сокета больше не будут генерироваться события onReceive до вызова метода setPaused(false) .

Параметры

  • socketId

    число

    Идентификатор сокета.

  • адрес

    нить

    Адрес Bluetooth-устройства.

  • uuid

    нить

    UUID сервиса, к которому нужно подключиться.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

create()

Обещать
chrome.bluetoothSocket.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Создает Bluetooth-сокет.

Параметры

  • характеристики

    SocketProperties ( необязательно)

    Свойства сокета (необязательно).

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (createInfo: CreateInfo) => void

    • создатьИнформацию

      Результат создания сокета.

Возвраты

  • Promise <CreateInfo>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

disconnect()

Обещать
chrome.bluetoothSocket.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Разъединяет сокет. Идентификатор сокета остается действительным.

Параметры

  • socketId

    число

    Идентификатор сокета.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getInfo()

Обещать
chrome.bluetoothSocket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Получает состояние заданного сокета.

Параметры

  • socketId

    число

    Идентификатор сокета.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Объект, содержащий информацию о сокете.

Возвраты

  • Promise <SocketInfo>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getSockets()

Обещать
chrome.bluetoothSocket.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

Получает список открытых в данный момент сокетов, принадлежащих приложению.

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (sockets: SocketInfo[]) => void

    • разъемы

      Массив объектов, содержащих информацию о сокете.

Возвраты

  • Promise< SocketInfo []>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

listenUsingL2cap()

Обещать
chrome.bluetoothSocket.listenUsingL2cap(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

Прослушивание соединений с использованием протокола L2CAP.

Параметры

  • socketId

    число

    Идентификатор сокета.

  • uuid

    нить

    UUID службы, на которой будет осуществляться прослушивание.

  • параметры

    ListenOptions ( необязательно)

    Дополнительные опции, предоставляемые сервисом (по желанию).

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

listenUsingRfcomm()

Обещать
chrome.bluetoothSocket.listenUsingRfcomm(
  socketId: number,
  uuid: string,
  options?: ListenOptions,
  callback?: function,
)
: Promise<void>

Прослушивайте соединения, использующие протокол RFCOMM.

Параметры

  • socketId

    число

    Идентификатор сокета.

  • uuid

    нить

    UUID службы, на которой будет осуществляться прослушивание.

  • параметры

    ListenOptions ( необязательно)

    Дополнительные опции, предоставляемые сервисом (по желанию).

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

send()

Обещать
chrome.bluetoothSocket.send(
  socketId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<number>

Отправляет данные через указанный Bluetooth-разъем.

Параметры

  • socketId

    число

    Идентификатор сокета.

  • данные

    ArrayBuffer

    Данные для отправки.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    (bytesSent: number) => void

    • байтыОтправлено

      число

      Количество отправленных байтов.

Возвраты

  • Обещание<число>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

setPaused()

Обещать
chrome.bluetoothSocket.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Включает или отключает возможность приема сообщений от соседнего сокета или прием новых соединений сокетом, находящимся в режиме прослушивания. Значение по умолчанию — «false». Приостановка работы подключенного сокета обычно используется приложением для ограничения объема данных, отправляемых соседним сокетом. Когда подключенный сокет приостановлен, событие onReceive не генерируется. Когда сокет подключен и возобновлен, события onReceive генерируются снова при получении сообщений. Когда сокет, находящийся в режиме прослушивания, приостановлен, новые соединения принимаются до тех пор, пока его очередь не заполнится, после чего дополнительные запросы на соединение отклоняются. События onAccept генерируются только тогда, когда сокет возобновлен.

Параметры

  • socketId

    число

  • пауза

    логический

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

update()

Обещать
chrome.bluetoothSocket.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

Обновляет свойства сокета.

Параметры

  • socketId

    число

    Идентификатор сокета.

  • характеристики

    Свойства, которые необходимо обновить.

  • перезвонить

    функция необязательна

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 91+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

События

onAccept

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

Событие генерируется при установлении соединения для заданного сокета.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (info: AcceptInfo) => void

onAcceptError

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

Событие генерируется, когда во время ожидания новых подключений на данном сокете происходит сетевая ошибка. После генерации этого события сокет переходит в состояние paused , и для этого сокета больше не генерируются события onAccept .

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (info: AcceptErrorInfo) => void

onReceive

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

Событие генерируется при получении данных для заданного сокета.

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (info: ReceiveInfo) => void

onReceiveError

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

Событие генерируется при возникновении сетевой ошибки во время ожидания данных в сокете средой выполнения. После генерации этого события сокет переходит в состояние paused , и для этого сокета больше не генерируются события onReceive .

Параметры

  • перезвонить

    функция

    Параметр callback выглядит следующим образом:

    (info: ReceiveErrorInfo) => void