BluetoothServerSocket.accept()如何工作?

时间:2013-10-15 19:06:58

标签: android bluetooth android-bluetooth

所以我只想清除我的概念。 BluetoothServerSocket.accept()究竟是如何工作的? Android文档提到它返回CONNECTED BluetoothSocket,但在连接之前是不是有某种授权?

此外,我目前正在开发一个应用程序,其中一个设备充当主机并拥有监听BluetoothServerSocket,但我想首先列出所有传入的客户端连接,并让用户选择要连接的设备。那可能吗?如果是的话,怎么办呢?

提前致谢。 :)

1 个答案:

答案 0 :(得分:1)

你必须实施这些东西。

蓝牙有自己的安全性,包括授权,加密等。如果蓝牙的安全性不足以满足您的需要,那么您需要实现自己的安全性。

蓝牙套接字是通过蓝牙RFCOMM(或其他平台上的L2CAP)进行通信的简单抽象。它不会添加任何安全性或任何在客户端中选择的能力。

如果您想让用户在可能的客户端中进行选择以进行连接,那么您可能希望接受来自多个客户端的连接(以便您拥有多个独立的蓝牙套接字连接)。让每个客户端使用套接字来标识自己,然后为可以选择与谁通信的用户列出这些。

如果您想要更简单但安全性更低的东西,您只需向用户显示配对设备列表,或者进行扫描并向其显示扫描中找到的设备列表,然后让用户从此列表中选择。但请注意,其他设备可能会错误识别自己。