android 中文 api (71) —— BluetoothServerSocket[藍芽]

來源:互聯網
上載者:User

前言

  本章內容是 android.bluetooth.BluetoothServerSocket,為Android藍芽部分的章節翻譯。伺服器通訊通訊端,與TCP ServerSocket類似。版本為 Android 2.3 r1,翻譯來自中山大學的"Android Club SYSU",歡迎訪問他們的WIKI:http://www.android-wiki.net,再次感謝"Android Club SYSU"!期待你一起參與Android API 的中文翻譯,聯絡我 over140@gmail.com。

 

聲明

  歡迎轉載,但請保留文章原始出處:)

    Android Club SYSU:http://www.android-wiki.net

    部落格園:http://www.cnblogs.com/

    Android中文翻譯組:http://code.taobao.org/project/view/404/

 

本文

  一、結構

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 BluetoothSocketaccept (int timeout)

          阻塞直到逾時時間內的串連建立。

          在一個成功建立的串連上返回一個已串連的BluetoothSocket類。

          每當該調用返回的時候,它可以在此調用去接收以後新來的串連。

          close()方法可以用來放棄從另一線程來的調用。

                   參數

                            timeout    (譯者註:阻塞逾時時間)

                   傳回值

                            已串連的 BluetoothSocket

                   異常

                            IOException     出現錯誤,比如該調用被放棄,或者逾時。

 

           public BluetoothSocket accept ()

          阻塞直到一個串連已經建立。(譯者註:預設逾時時間設定為-1,見源碼)

          在一個成功建立的串連上返回一個已串連的BluetoothSocket類。

          每當該調用返回的時候,它可以在此調用去接收以後新來的串連。

          close()方法可以用來放棄從另一線程來的調用。

                   傳回值

                            已串連的 BluetoothSocket

                   異常

                            IOException     出現錯誤,比如該調用被放棄,或者逾時。

 

public void close ()

    馬上關閉連接埠,並釋放所有相關的資源。

    在其他線程的該連接埠中引起阻塞,從而使系統馬上拋出一個IO異常。

    關閉BluetoothServerSocket不會關閉接受自accept()的任意BluetoothSocket。

      異常

  IOException

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.