Описание
Используйте API chrome.bluetoothSocket, чтобы отправлять данные на устройства Bluetooth и получать их с таких устройств, используя подключения RFCOMM и L2CAP.
Доступность
Манифест
Типы
AcceptError
Перечисление
system_error
Произошла системная ошибка, и подключение может быть невозможно восстановить.
"not_listening"
Сокет не прослушивается.
AcceptErrorInfo
Свойства
-
ошибка
Код ошибки, указывающий на то, что пошло не так.
-
errorMessage
string
Сообщение об ошибке.
-
socketId
число
Идентификатор серверного сокета.
AcceptInfo
Свойства
-
clientSocketId
число
Идентификатор клиентского сокета, то есть идентификатор сокета нового подключения. Этот идентификатор сокета следует использовать только с функциями из пространства имен
chrome.bluetoothSocket. Обратите внимание, что клиентский сокет изначально приостановлен и должен быть явно возобновлен приложением, чтобы начать получать данные. -
socketId
число
Идентификатор серверного сокета.
CreateInfo
Свойства
-
socketId
число
Идентификатор созданного сокета. Обратите внимание, что идентификаторы сокетов, созданные с помощью этого API, несовместимы с идентификаторами сокетов, созданными с помощью других API, например
[sockets.tcp](../sockets_tcp/).
ListenOptions
Свойства
-
бэклог
number (необязательно)
Длина очереди прослушивания сокета. Значение по умолчанию зависит от хост-подсистемы операционной системы.
-
канал
number (необязательно)
Канал RFCOMM, используемый
listenUsingRfcomm. Если канал указан, он не должен был использоваться ранее, иначе вызов метода завершится ошибкой. Если канал не указан, он будет назначен автоматически. -
МПП
number (необязательно)
Мультиплексор протокола/сервиса L2CAP, используемый
listenUsingL2cap. Если указан, этот PSM не должен был использоваться ранее, иначе вызов метода завершится ошибкой. Если вы не укажете его, будет автоматически назначен неиспользуемый МПП.
ReceiveError
Перечисление
"disconnected"
Подключение было разорвано.
system_error
Произошла системная ошибка, и подключение может быть невозможно восстановить.
"not_connected"
Сокет не подключен.
ReceiveErrorInfo
Свойства
-
ошибка
Код ошибки, указывающий на то, что пошло не так.
-
errorMessage
string
Сообщение об ошибке.
-
socketId
число
Идентификатор сокета.
ReceiveInfo
Свойства
-
делал.
ArrayBuffer
Полученные данные. Максимальный размер –
bufferSize. -
socketId
число
Идентификатор сокета.
SocketInfo
Свойства
-
Обращаться (к определенному вопросу)
Строка (необязательно)
Если базовый сокет подключен, содержит адрес Bluetooth устройства, к которому он подключен.
-
bufferSize
number (необязательно)
Размер буфера, используемого для получения данных. Если размер буфера не указан явно, значение не предоставляется.
-
подключено
Логическое значение
Флаг, указывающий, подключен ли сокет к удаленному узлу.
-
name
Строка (необязательно)
Строка, определенная приложением и связанная с сокетом.
-
приостановлено
Логическое значение
Флаг, указывающий, блокирует ли подключенный сокет отправку дополнительных данных от своего пира или же запросы на подключение к прослушивающему сокету отправляются через событие
onAcceptили ставятся в очередь прослушивания. ПрочтитеsetPaused. Значение по умолчанию – false. -
постоянный
Логическое значение
Флаг, указывающий, остается ли сокет открытым, когда страница событий приложения выгружается (см.
SocketProperties.persistent). Значение по умолчанию – false. -
socketId
число
Идентификатор сокета.
-
uuid
Строка (необязательно)
Если базовый сокет подключен, содержит информацию о UUID сервиса, к которому он подключен. Если базовый сокет прослушивается, содержит информацию о UUID сервиса, на котором он прослушивается.
SocketProperties
Свойства
-
bufferSize
number (необязательно)
Размер буфера, используемого для получения данных. Значение по умолчанию – 4096.
-
name
Строка (необязательно)
Определенная приложением строка, связанная с сокетом.
-
постоянный
Логическое значение (необязательно)
Флаг, указывающий, остается ли сокет открытым, когда страница событий приложения выгружается (см. статью Управление жизненным циклом приложения). Значение по умолчанию –
false.. При загрузке приложения все сокеты, ранее открытые с параметром persistent=true, можно получить с помощьюgetSockets.
Методы
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
): Promise<void>
Отключает и уничтожает сокет. Каждый созданный сокет должен быть закрыт после использования. Идентификатор сокета перестает быть действительным сразу после вызова функции. Однако сокет гарантированно закрывается только при вызове обратного вызова.
Параметры
-
socketId
число
Идентификатор сокета.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
connect()
chrome.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
): Promise<void>
Подключает сокет к удаленному устройству Bluetooth. Когда операция connect завершается успешно, при получении данных от другого игрока генерируются события onReceive. Если во время получения пакетов средой выполнения возникает ошибка сети, генерируется событие onReceiveError. После этого для сокета не будут генерироваться события onReceive, пока не будет вызван метод setPaused(false).
Параметры
-
socketId
число
Идентификатор сокета.
-
Обращаться (к определенному вопросу)
string
Адрес устройства Bluetooth.
-
uuid
string
UUID сервиса, к которому нужно подключиться.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Создает сокет Bluetooth.
Параметры
-
объекты
SocketProperties необязательный
Свойства сокета (необязательно).
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(createInfo: CreateInfo) => void
-
createInfo
Результат создания сокета.
-
Возвраты
-
Promise<CreateInfo>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
disconnect()
chrome.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Отключает сокет. Идентификатор сокета остается действительным.
Параметры
-
socketId
число
Идентификатор сокета.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getInfo()
chrome.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Получает состояние указанного сокета.
Параметры
-
socketId
число
Идентификатор сокета.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(socketInfo: SocketInfo) => void
-
socketInfo
Объект, содержащий информацию о сокете.
-
Возвраты
-
Promise<SocketInfo>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Получает список открытых сокетов, принадлежащих приложению.
Параметры
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(sockets: SocketInfo[]) => void
-
сокеты
Массив объектов, содержащих информацию о сокетах.
-
Возвраты
-
Promise<SocketInfo[]>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Прослушивание подключений по протоколу L2CAP.
Параметры
-
socketId
число
Идентификатор сокета.
-
uuid
string
UUID сервиса, который нужно прослушивать.
-
Параметры
ListenOptions необязательный
Дополнительные параметры для сервиса.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
): Promise<void>
Прослушивание подключений по протоколу RFCOMM.
Параметры
-
socketId
число
Идентификатор сокета.
-
uuid
string
UUID сервиса, который нужно прослушивать.
-
Параметры
ListenOptions необязательный
Дополнительные параметры сервиса.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
send()
chrome.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
): Promise<number>
Отправляет данные через указанный сокет Bluetooth.
Параметры
-
socketId
число
Идентификатор сокета.
-
делал.
ArrayBuffer
Данные для отправки.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:(bytesSent: number) => void
-
bytesSent
число
Количество отправленных байтов.
-
Возвраты
-
Promise<number>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
setPaused()
chrome.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Включает или отключает получение сообщений от подключенного сокета или прием новых подключений от прослушивающего сокета. Значение по умолчанию – false. Приостановка подключенного сокета обычно используется приложением для регулирования данных, отправляемых его одноранговым узлом. Когда подключенный сокет приостановлен, событие onReceive не создается. Когда сокет подключен и не приостановлен, события onReceive снова генерируются при получении сообщений. Когда прослушивающий сокет приостановлен, новые подключения принимаются, пока не заполнится его очередь, после чего дополнительные запросы на подключение отклоняются. События onAccept генерируются, только когда сокет не приостановлен.
Параметры
-
socketId
число
-
приостановлено
Логическое значение
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
update()
chrome.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Обновляет свойства сокета.
Параметры
-
socketId
число
Идентификатор сокета.
-
объекты
Свойства, которые нужно обновить.
-
обратный вызов
function необязательно
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
-
Promise<void>
Chrome 91 и более поздних версийОбъекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.
События
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Событие, которое происходит при установке подключения для заданного сокета.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(info: AcceptInfo) => void
-
информация
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Событие возникает, когда во время ожидания новых подключений к сокету происходит ошибка сети. После этого сокету присваивается значение paused и события onAccept для него больше не генерируются.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(info: AcceptErrorInfo) => void
-
информация
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Событие, которое происходит при получении данных для определенного сокета.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(info: ReceiveInfo) => void
-
информация
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Событие возникает, когда во время ожидания данных в сокете происходит ошибка сети. После этого сокету присваивается значение paused и события onReceive для него больше не генерируются.
Параметры
-
обратный вызов
function
Параметр
callbackвыглядит следующим образом:(info: ReceiveErrorInfo) => void
-
информация
-