Most visited

Recently visited

Added in API level 5

BluetoothServerSocket

public final class BluetoothServerSocket
extends Object implements Closeable

java.lang.Object
   ↳ android.bluetooth.BluetoothServerSocket


一个侦听蓝牙套接字。

蓝牙套接口类似于TCP套接字: SocketServerSocket 在服务器端,使用BluetoothServerSocket创建侦听服务器套接字。 当连接被BluetoothServerSocket接受时,它将返回一个新的BluetoothSocket来管理连接。 在客户端,使用单个BluetoothSocket来启动传出连接并管理连接。

最常见的蓝牙套接字类型是RFCOMM,它是Android API支持的类型。 RFCOMM是一种通过蓝牙实现的面向连接的流媒体传输。 它也被称为串行端口配置文件(SPP)。

要创建可用于传入连接的监听BluetoothServerSocket ,请使用BluetoothAdapter.listenUsingRfcommWithServiceRecord() 然后致电accept()监听传入的连接请求。 此呼叫将阻塞,直到连接建立,此时,它将返回一个BluetoothSocket来管理连接。 一旦BluetoothSocket被收购,这是一个好主意,打电话close()BluetoothServerSocket当它不再需要接受连接。 关闭BluetoothServerSocket不会关闭返回的BluetoothSocket

BluetoothServerSocket是线程安全的。 特别是, close()将始终立即中止正在进行的操作并关闭服务器套接字。

注意:需要 BLUETOOTH权限。

Developer Guides

有关使用蓝牙的更多信息,请阅读 Bluetooth开发人员指南。

也可以看看:

Summary

Public methods

BluetoothSocket accept()

阻塞直到连接建立。

BluetoothSocket accept(int timeout)

阻塞直到建立连接,并超时。

void close()

立即关闭此套接字,并释放所有关联的资源。

String toString()

返回对象的字符串表示形式。

Inherited methods

From class java.lang.Object
From interface java.io.Closeable
From interface java.lang.AutoCloseable

Public methods

accept

Added in API level 5
BluetoothSocket accept ()

阻塞直到连接建立。

返回成功连接时连接的 BluetoothSocket

一旦这个调用返回,它可以被再次调用来接受后续的传入连接。

close()可用于从另一个线程中止此调用。

Returns
BluetoothSocket a connected BluetoothSocket
Throws
IOException on error, for example this call was aborted, or timeout

accept

Added in API level 5
BluetoothSocket accept (int timeout)

阻塞直到建立连接,并超时。

返回成功连接时连接的 BluetoothSocket

一旦这个调用返回,它可以被再次调用来接受后续的传入连接。

close()可用于从另一个线程中止此调用。

Parameters
timeout int
Returns
BluetoothSocket a connected BluetoothSocket
Throws
IOException on error, for example this call was aborted, or timeout

close

Added in API level 5
void close ()

立即关闭此套接字,并释放所有关联的资源。

导致其他线程在此套接字上阻塞的调用立即引发IOException。

关闭 BluetoothServerSocket 不会关闭任何 BluetoothSocket从收到 accept()

Throws
IOException

toString

Added in API level 5
String toString ()

返回对象的字符串表示形式。 一般来说, toString方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

ObjecttoString方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

Hooray!