所以我只是想弄清楚我的概念。究竟是如何BluetoothServerSocket.accept()
工作的?Android文档提到它返回一个CONNECTED BluetoothSocket,但是在连接之前没有某种授权吗?
另外,我目前正在开发一个应用程序,其中一个设备充当主机并拥有一个侦听的 BluetoothServerSocket,但我想首先列出所有传入的客户端连接并让用户选择要连接的设备。那可能吗?如果是,怎么做?
提前致谢。:)
所以我只是想弄清楚我的概念。究竟是如何BluetoothServerSocket.accept()
工作的?Android文档提到它返回一个CONNECTED BluetoothSocket,但是在连接之前没有某种授权吗?
另外,我目前正在开发一个应用程序,其中一个设备充当主机并拥有一个侦听的 BluetoothServerSocket,但我想首先列出所有传入的客户端连接并让用户选择要连接的设备。那可能吗?如果是,怎么做?
提前致谢。:)
你必须实现这些东西。
蓝牙有自己的安全性,包括授权、加密等。如果蓝牙的安全性不足以满足您的目的,那么您需要自己实现。
蓝牙套接字是通过蓝牙 RFCOMM(或其他平台上的 L2CAP)进行通信的简单抽象。它不会增加任何安全性,或任何在客户端中进行选择的能力。
如果您想让用户在可能的客户端中进行选择连接,那么您可能希望从多个客户端接受()连接(这样您就有多个独立的蓝牙套接字连接)。让每个客户端使用套接字来标识自己,然后为用户列出这些,然后用户可以选择与谁通信。
如果您想要一些更简单但不太安全的东西,您可以只向用户显示配对设备的列表,或者进行扫描并向他们显示在扫描中找到的设备列表,然后让用户从该列表中进行选择。但请注意,其他设备可能会错误地识别自己。