chrome.bluetoothSocket
描述: |
使用 chrome.bluetoothSocket API 通过 RFCOMM 和 L2CAP
连接向蓝牙设备接收和发送数据。
|
可用版本: |
从 Chrome 37 开始支持。警告:目前为 Beta 分支。了解更多内容
|
清单文件: |
"bluetooth": {...}
|
了解更多: |
蓝牙
|
摘要
类型 | |
---|---|
SocketProperties | |
ListenOptions | |
SocketInfo | |
方法 | |
create −
chrome.bluetoothSocket.create( SocketProperties properties, function callback)
| |
update −
chrome.bluetoothSocket.update(integer socketId, SocketProperties properties, function callback)
| |
setPaused −
chrome.bluetoothSocket.setPaused(integer socketId, boolean paused, function callback)
| |
listenUsingRfcomm −
chrome.bluetoothSocket.listenUsingRfcomm(integer socketId, string uuid, ListenOptions options, function callback)
| |
listenUsingL2cap −
chrome.bluetoothSocket.listenUsingL2cap(integer socketId, string uuid, ListenOptions options, function callback)
| |
connect −
chrome.bluetoothSocket.connect(integer socketId, string address, string uuid, function callback)
| |
disconnect −
chrome.bluetoothSocket.disconnect(integer socketId, function callback)
| |
close −
chrome.bluetoothSocket.close(integer socketId, function callback)
| |
send −
chrome.bluetoothSocket.send(integer socketId, ArrayBuffer data, function callback)
| |
getInfo −
chrome.bluetoothSocket.getInfo(integer socketId, function callback)
| |
getSockets −
chrome.bluetoothSocket.getSockets(function callback)
| |
事件 | |
onAccept | |
onAcceptError | |
onReceive | |
onReceiveError |
类型
SocketProperties
属性 | ||
---|---|---|
boolean | (可选) persistent |
应用的事件页面卸载(参见管理应用的生命周期)时是否使套接字保持打开状态,默认值为 |
string | (可选) name |
与套接字相关联的字符串,由应用定义。 |
integer | (可选) bufferSize |
用于接收数据的缓冲区大小,默认值为 4096。 |
ListenOptions
属性 | ||
---|---|---|
integer | (可选) channel |
|
integer | (可选) psm |
|
integer | (可选) backlog |
套接字监听队列的长度,默认值取决于操作系统的主机子系统。 |
SocketInfo
属性 | ||
---|---|---|
integer | socketId |
套接字标识符。 |
boolean | persistent |
应用关闭时(参见 |
string | (可选) name |
与套接字相关联的字符串,由应用定义。 |
integer | (可选) bufferSize |
用于接收数据的缓冲区大小。如果没有明确指定缓冲区大小,则不提供该属性的值。 |
boolean | paused |
表示已连接的套接字是否阻止对方发送更多数据,或者正在监听的套接字上的连接请求是通过 |
boolean | connected |
表示套接字是否已经连接到远程计算机。 |
string | (可选) address |
如果下层套接字已连接,则包含连接设备的蓝牙地址。 |
string | (可选) uuid |
如果下层套接字已连接,则包含连接的服务 UUID 相关信息;如果下层套接字处于监听状态,则包含正在监听的服务 UUID。 |
方法
create
chrome.bluetoothSocket.create( SocketProperties properties, function callback)
创建蓝牙套接字。
参数 | ||||||||
---|---|---|---|---|---|---|---|---|
SocketProperties | (可选) properties |
套接字属性(可选)。 |
||||||
function | callback |
套接字创建后调用。 callback 参数应该是一个如下形式的函数: function(object createInfo) {...};
|
update
chrome.bluetoothSocket.update(integer socketId, SocketProperties properties, function callback)
更新套接字属性。
参数 | ||
---|---|---|
integer | socketId |
套接字标识符。 |
SocketProperties | properties |
要更新的属性。 |
function | (可选) callback |
属性更新后调用。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
setPaused
chrome.bluetoothSocket.setPaused(integer socketId, boolean paused, function callback)
允许或阻止已连接的套接字从对方接收消息,或者正在监听的套接字接受新连接,默认值为 false
。应用通常使用暂停套接字的方式限制对方发送的数据。已连接的套接字暂停后不会产生 onReceive
事件,套接字已连接并且取消暂停时,接收到消息后就会产生 onReceive
事件。正在监听的套接字暂停后,还会接受新连接,直到后备队列已满,接下来其他连接请求就会被拒绝。只有套接字不处于暂停状态时才会产生 onAccept
事件。
参数 | ||
---|---|---|
integer | socketId | |
boolean | paused | |
function | (可选) callback |
如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
listenUsingRfcomm
chrome.bluetoothSocket.listenUsingRfcomm(integer socketId, string uuid, ListenOptions options, function callback)
使用 RFCOMM 协议监听套接字。
参数 | ||
---|---|---|
integer | socketId |
套接字标识符。 |
string | uuid |
要监听的服务 UUID。 |
ListenOptions | (可选) options |
该服务的其他可选选项。 |
function | callback |
监听操作完成后调用。 callback 参数应该是一个如下形式的函数: function() {...};
|
listenUsingL2cap
chrome.bluetoothSocket.listenUsingL2cap(integer socketId, string uuid, ListenOptions options, function callback)
使用 L2CAP 协议监听连接。
参数 | ||
---|---|---|
integer | socketId |
套接字标识符。 |
string | uuid |
要监听的服务 UUID。 |
ListenOptions | (可选) options |
该服务的其他可选选项。 |
function | callback |
监听操作完成后调用。 callback 参数应该是一个如下形式的函数: function() {...};
|
connect
chrome.bluetoothSocket.connect(integer socketId, string address, string uuid, function callback)
参数 | ||
---|---|---|
integer | socketId |
套接字标识符。 |
string | address |
蓝牙设备地址。 |
string | uuid |
要连接的服务 UUID。 |
function | callback |
连接尝试完成后调用。 callback 参数应该是一个如下形式的函数: function() {...};
|
disconnect
chrome.bluetoothSocket.disconnect(integer socketId, function callback)
断开套接字的连接,套接字标识符仍然有效。
参数 | ||
---|---|---|
integer | socketId |
套接字标识符。 |
function | (可选) callback |
断开连接的尝试完成后调用。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
close
chrome.bluetoothSocket.close(integer socketId, function callback)
断开连接并释放套接字,创建的所有套接字使用完之后都必须释放。一旦调用该函数,套接字标识符就不再有效。但是只有调用回调函数时,套接字才确保已经关闭。
参数 | ||
---|---|---|
integer | socketId |
套接字标识符。 |
function | (可选) callback |
如果您指定了 callback 参数,它应该是一个如下形式的函数: function() {...};
|
send
chrome.bluetoothSocket.send(integer socketId, ArrayBuffer data, function callback)
在指定蓝牙套接字上发送数据。
参数 | |||||
---|---|---|---|---|---|
integer | socketId |
套接字标识符。 |
|||
ArrayBuffer | data |
要发送的数据。 |
|||
function | (可选) callback |
调用时传递发送的字节数。 如果您指定了 callback 参数,它应该是一个如下形式的函数: function(integer bytesSent) {...};
|
getInfo
chrome.bluetoothSocket.getInfo(integer socketId, function callback)
获取指定套接字的状态。
参数 | |||||
---|---|---|---|---|---|
integer | socketId |
套接字标识符。 |
|||
function | callback |
套接字状态可用时调用。 callback 参数应该是一个如下形式的函数: function( SocketInfo socketInfo) {...};
|
getSockets
chrome.bluetoothSocket.getSockets(function callback)
获取应用拥有的当前打开的套接字列表。
参数 | |||||
---|---|---|---|---|---|
function | callback |
套接字列表可用时调用。 callback 参数应该是一个如下形式的函数: function(array of SocketInfo sockets) {...};
|
事件
onAccept
某个套接字上建立连接时产生。
addListener
chrome.bluetoothSocket.onAccept.addListener(function callback)
参数 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function(object info) {...};
|
onAcceptError
运行时在某个套接字上等待新连接时如果发生网络错误则产生该事件。一旦产生了该事件,套接字将设置为暂停状态(paused
),而且不会再产生 onAccept
事件。
addListener
chrome.bluetoothSocket.onAcceptError.addListener(function callback)
参数 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function(object info) {...};
|
onReceive
某个套接字上接收到数据时产生。
addListener
chrome.bluetoothSocket.onReceive.addListener(function callback)
参数 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function(object info) {...};
|
onReceiveError
运行时等待该套接字上的数据时如果发生网络错误则产生该事件。一旦产生该事件后,套接字将设置为 paused
(暂停)状态,不再产生 onReceive
事件。
addListener
chrome.bluetoothSocket.onReceiveError.addListener(function callback)
参数 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function(object info) {...};
|