?
This document uses PHP Chinese website manual Release
BluetoothServerSocket
版本:Android 2.3 r1
?
結構
繼承關系
public final class BluetoothServerSocket extends Object implements Closeable
????????
java.lang.Object
android.bluetooth.BluetoothServerSocket
?
類概述
???????? 一個藍牙監(jiān)聽端口。
???????? 藍牙端口監(jiān)聽接口和TCP端口類似:Socket和ServerSocket類。在服務器端,使用BluetoothServerSocket類來創(chuàng)建一個 監(jiān)聽服務端口。當一個連接被BluetoothServerSocket所接受,它會返回一個新的BluetoothSocket來管理該連接。在客戶 端,使用一個單獨的BluetoothSocket類去初始化一個外接連接和管理該連接。
???????? 最通常使用的藍牙端口是RFCOMM,它是被Android API支持的類型。RFCOMM是一個面向連接,通過藍牙模塊進行的數(shù)據(jù)流傳輸方式,它也被稱為串行端口規(guī)范(Serial Port Profile,SPP)。
???????? 為了創(chuàng)建一個對準備好的新來的連接去進行監(jiān)聽BluetoothServerSocket
類,使用 BluetoothAdapter.listenUsingRfcommWithServiceRecord()
方法。然后調(diào)用accept()
方法去監(jiān) 聽該鏈接的請求。在連接建立之前,該調(diào)用會被阻斷,也就是說,它將返回一個BluetoothSocket
類去管理該連接。每次獲得該類之后,如果不再需 要接受連接,最好調(diào)用在BluetoothServerSocket
類下的close()
方法。關閉BluetoothServerSocket
類不會關 閉這個已經(jīng)返回的BluetoothSocket
類。
???????? BluetoothSocket
類線程安全。特別的,close()
方法總會馬上放棄外界操作并關閉服務器端口。
???????? 注意:需要BLUETOOTH
權限。
???????? 參見
?????????????????? BluetoothSocket
?
公共方法
public BluetoothSocket accept (int timeout)
???????? 阻塞直到超時時間內(nèi)的連接建立。
???????? 在一個成功建立的連接上返回一個已連接的BluetoothSocket類。
???????? 每當該調(diào)用返回的時候,它可以在此調(diào)用去接收以后新來的連接。
???????? close()
方法可以用來放棄從另一線程來的調(diào)用。
?????????????????? 參數(shù)
?????????????????? ???????? timeout??? (譯者注:阻塞超時時間)
?????????????????? 返回值
??????????????????????????? 已連接的 BluetoothSocket
?????????????????? 異常
??????????????????????????? IOException???? 出現(xiàn)錯誤,比如該調(diào)用被放棄,或者超時。
?
public BluetoothSocket accept ()
???????? 阻塞直到一個連接已經(jīng)建立。(譯者注:默認超時時間設置為-1,見源碼)
???????? 在一個成功建立的連接上返回一個已連接的BluetoothSocket類。
???????? 每當該調(diào)用返回的時候,它可以在此調(diào)用去接收以后新來的連接。
???????? close()
方法可以用來放棄從另一線程來的調(diào)用。
?????????????????? 返回值
??????????????????????????? 已連接的 BluetoothSocket
?????????????????? 異常
??????????????????????????? IOException???? 出現(xiàn)錯誤,比如該調(diào)用被放棄,或者超時。
?
???????? public void close ()
馬上關閉端口,并釋放所有相關的資源。
在其他線程的該端口中引起阻塞,從而使系統(tǒng)馬上拋出一個IO異常。
關閉BluetoothServerSocket不會關閉接受自accept()的任意BluetoothSocket。
異常
IOException