蓝牙、NFC 和 Wi-Fi 点对点通信的数据传输
1. 蓝牙通信概述
Android 蓝牙通信 API 是围绕 RFCOMM(蓝牙射频通信协议)构建的包装器。RFCOMM 支持通过逻辑链路控制和适配协议(L2CAP)层进行 RS232 串行通信。实际上,这为两个配对的蓝牙设备之间打开通信套接字提供了一种机制。
在应用程序进行设备间通信之前,设备必须先配对(绑定)。若尝试连接两个未配对的设备,用户会在建立连接前收到配对提示。
可以使用以下类建立 RFCOMM 双向通信通道:
- BluetoothServerSocket :用于建立监听套接字,以启动设备间的连接。为建立握手,一个设备充当服务器,监听并接受传入的连接请求。
- BluetoothSocket :用于创建新的客户端,连接到正在监听的蓝牙服务器套接字。连接建立后,蓝牙服务器套接字也会返回该对象。连接建立后,服务器和客户端都使用蓝牙套接字传输数据流。
当创建使用蓝牙作为设备间点对点传输层的应用程序时,需要同时实现蓝牙服务器套接字来监听连接,以及蓝牙套接字来启动新通道并处理通信。连接后,蓝牙服务器套接字会返回一个可用于发送和接收数据的蓝牙套接字。服务器端和客户端的蓝牙套接字使用方式相同,服务器和客户端的指定仅与连接的建立方式有关,不影响连接建立后的数据流向。
2. 打开蓝牙服务器套接字监听器
蓝牙服务器套接字用于监听来自远程蓝牙设备的蓝牙套接字连接请求。两个蓝牙设备要连接,一个必须充当服务器(监听并接受传入请求),另一个充当客户端(发起连接到服务器的请求)。连接后,
超级会员免费看
订阅专栏 解锁全文
3593

被折叠的 条评论
为什么被折叠?



