全球旧事资料 分类
wjServerSocket定义为fi
altrytmpmyAdapterliste
Usi
gRfcommWithServiceRecordNAMECWJ_UUID服务仅监听catchIOExceptio
ecwjServerSockettmppublicvoidru
BluetoothSocketsocket
ullwhiletrue保持连接直到异常发生或套接字返回trysocketcwjServerSocketaccept如果一个连接同意
fcatchIOExceptio
ebreakifsocket
ullma
ageCo
ectedSocketsocket管理一个已经连接的RFCOMM通道在单独的线程。cwjServerSocketclosebreakpublicvoidca
cel取消套接字连接,然后线程返回trycwjServerSocketclosecatchIOExceptio
e在这里a
droid开发网提醒大家需要注意的是服务器一般处理多个任务不嫩阻塞,必须使用异步的方法这里我们开了一个线程,目前A
droid的虚拟机上层没有提供IO模型,这里我们以后会讲解高负载情况下性能优化解决方案。2作为客户端以便初始化一个连接到远程设备,首先必须获取本地的BluetoothDevice对象,相关的方法在我们A
droid蓝牙API之BluetoothAdapter类的两篇文章中有讲到,这里不再赘述,相关的示例代码如下privateclassCo
ectThreadexte
dsThreadprivatefi
alBluetoothSocketcwjSocket
fprivatefi
alBluetoothDevicecwjDevicepublicCo
ectThreadBluetoothDevicedeviceBluetoothSockettmp
ullcwjDevicedevicetrytmpdevicecreateRfcommSocketToServiceRecordCWJ_UUID客户端创建catchIOExceptio
ecwjSockettmppublicvoidru
myAdapterca
celDiscovery取消发现远程设备,这样会降低系统性能trycwjSocketco
ectcatchIOExceptio
co
ectExceptio
trycwjSocketclosecatchIOExceptio
closeExceptio
retur
ma
ageCo
ectedSocketcwjSocket管理一个已经连接的RFCOMM通道在单独的线程。publicvoidca
cel
ftrycwjSocketclosecatchIOExceptio
e经过上面的介绍我们可以看到在A
droid平台上使用蓝牙通讯相对比较方便和简单,有关数据的具体通讯我们将在下次A
droid蓝牙API之BluetoothSocket类2讲到ma
ageCo
ectedSocket的具体实现。通过前几次的讲解,很多网友相信对A
droid蓝牙相关开发可以很好的掌握了,通过BluetoothServerSocket可以方便的创建一个蓝牙服务器,使用BluetoothSocket类可以很好的处理连接,今天我们继续上次的内容说下A
droid下如何管理蓝牙套接字的连接,今天仍然使用BluetoothSocket类,处理具体的数据流。在Java上处理数据流很简单,提供了I
putSream、OutputSream和字节数组的之间的转化。今天a
droid123将和大家一起说下处理上次遗留的ma
ageCo
ectedSocket方法的细节,由于蓝牙传输中可能存在中断,所以为了防止阻塞需要开一个工作者线程,相r
好听全球资料 返回顶部