Описание
 Используйте API chrome.bluetoothSocket для отправки и получения данных на устройства Bluetooth с использованием соединений RFCOMM и L2CAP.
Манифест
Типы
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 [] 
 
Возврат
- Обещание< 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 - информация