Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> android 中文 api (71) —— BluetoothServerSocket

android 中文 api (71) —— BluetoothServerSocket

編輯:Android開發實例

正文

  一、結構

 

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


 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved