chrome.bluetoothSocket

Описание

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

Манифест

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

"bluetooth"

Типы

AcceptError

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

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

"not_listening"
Розетка не слушается.

AcceptErrorInfo

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

  • ошибка

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

  • errorMessage

    нить

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

  • socketId

    число

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

AcceptInfo

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

  • clientSocketId

    число

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

  • socketId

    число

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

CreateInfo

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

  • socketId

    число

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

ListenOptions

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

  • отставание

    номер необязательно

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

  • канал

    номер необязательно

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

  • псм

    номер необязательно

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

ReceiveError

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

"отключен"
Соединение было прервано.

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

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

ReceiveErrorInfo

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

  • ошибка

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

  • errorMessage

    нить

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

  • 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

Возврат

  • Обещание<void>

    Хром 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

Возврат

  • Обещание<void>

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

create()

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

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

Параметры

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

    SocketProperties необязательны

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

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

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

    Параметр callback выглядит так:

    (createInfo: CreateInfo) => void

    • createInfo

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

Возврат

  • Обещание< CreateInfo >

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

disconnect()

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

Отключает розетку. Идентификатор розетки остаётся действительным.

Параметры

  • socketId

    число

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

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

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

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getInfo()

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

Возвращает состояние указанного сокета.

Параметры

  • socketId

    число

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

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

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

    Параметр callback выглядит так:

    (socketInfo: SocketInfo) => void

    • socketInfo

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

Возврат

  • Обещание <SocketInfo>

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getSockets()

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

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

Параметры

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

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

    Параметр callback выглядит так:

    (sockets: SocketInfo[]) => void

Возврат

  • Обещание< SocketInfo []>

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

listenUsingL2cap()

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

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

Параметры

  • socketId

    число

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

  • uuid

    нить

    UUID службы для прослушивания.

  • параметры

    ListenOptions необязательны

    Возможные дополнительные опции для услуги.

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

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

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

listenUsingRfcomm()

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

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

Параметры

  • socketId

    число

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

  • uuid

    нить

    UUID службы для прослушивания.

  • параметры

    ListenOptions необязательны

    Возможные дополнительные опции для услуги.

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

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

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

send()

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

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

Параметры

  • socketId

    число

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

  • данные

    ArrayBuffer

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

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

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

    Параметр callback выглядит так:

    (bytesSent: number) => void

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

      число

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

Возврат

  • Обещание<номер>

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

setPaused()

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

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

Параметры

  • socketId

    число

  • приостановлено

    булев

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

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

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 91+

    Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

update()

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

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

Параметры

  • socketId

    число

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

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

    Свойства для обновления.

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

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

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 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