返回介绍

BluetoothServerSocket

发布于 2025-03-09 17:00:19 字数 3830 浏览 0 评论 0 收藏 0

BluetoothServerSocket

版本:Android 2.3 r1

结构

继承关系

public final class BluetoothServerSocket extends Object implements Closeable

java.lang.Object

android.bluetooth.BluetoothServerSocket

类概述

一个蓝牙监听端口。

蓝牙端口监听接口和 TCP 端口类似:Socket 和 ServerSocket 类。在服务器端,使用 BluetoothServerSocket 类来创建一个 监听服务端口。当一个连接被 BluetoothServerSocket 所接受,它会返回一个新的 BluetoothSocket 来管理该连接。在客户 端,使用一个单独的 BluetoothSocket 类去初始化一个外接连接和管理该连接。

最通常使用的蓝牙端口是 RFCOMM,它是被 Android API 支持的类型。RFCOMM 是一个面向连接,通过蓝牙模块进行的数据流传输方式,它也被称为串行端口规范(Serial Port Profile,SPP)。

为了创建一个对准备好的新来的连接去进行监听 BluetoothServerSocket 类,使用 BluetoothAdapter.listenUsingRfcommWithServiceRecord() 方法。然后调用 accept() 方法去监 听该链接的请求。在连接建立之前,该调用会被阻断,也就是说,它将返回一个 BluetoothSocket 类去管理该连接。每次获得该类之后,如果不再需 要接受连接,最好调用在 BluetoothServerSocket 类下的 close() 方法。关闭 BluetoothServerSocket 类不会关 闭这个已经返回的 BluetoothSocket 类。

BluetoothSocket 类线程安全。特别的, close() 方法总会马上放弃外界操作并关闭服务器端口。

注意:需要 BLUETOOTH 权限。

参见

BluetoothSocket

公共方法

public BluetoothSocket accept (int timeout)

阻塞直到超时时间内的连接建立。

在一个成功建立的连接上返回一个已连接的 BluetoothSocket 类。

每当该调用返回的时候,它可以在此调用去接收以后新来的连接。

close() 方法可以用来放弃从另一线程来的调用。

参数

timeout (译者注:阻塞超时时间)

返回值

已连接的 BluetoothSocket

异常

IOException 出现错误,比如该调用被放弃,或者超时。

public BluetoothSocket accept ()

阻塞直到一个连接已经建立。(译者注:默认超时时间设置为-1,见源码)

在一个成功建立的连接上返回一个已连接的 BluetoothSocket 类。

每当该调用返回的时候,它可以在此调用去接收以后新来的连接。

close() 方法可以用来放弃从另一线程来的调用。

返回值

已连接的 BluetoothSocket

异常

IOException 出现错误,比如该调用被放弃,或者超时。

public void close ()

马上关闭端口,并释放所有相关的资源。

在其他线程的该端口中引起阻塞,从而使系统马上抛出一个 IO 异常。

关闭 BluetoothServerSocket 不会关闭接受自 accept() 的任意 BluetoothSocket。

异常

IOException

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文