BluetoothServerSocket 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個聆聽藍牙插座。
[Android.Runtime.Register("android/bluetooth/BluetoothServerSocket", DoNotGenerateAcw=true)]
public sealed class BluetoothServerSocket : Java.Lang.Object, IDisposable, Java.IO.ICloseable
[<Android.Runtime.Register("android/bluetooth/BluetoothServerSocket", DoNotGenerateAcw=true)>]
type BluetoothServerSocket = class
inherit Object
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
一個聆聽藍牙插座。
藍牙插座的介面類似於 TCP 插槽: java.net.Socket 且 java.net.ServerSocket。 在伺服器端,使用 a BluetoothServerSocket 來建立監聽伺服器插槽。 當連線被接受 BluetoothServerSocket時,會回傳一個新連線 BluetoothSocket 來管理該連線。 在用戶端,使用單一 BluetoothSocket 連線來發起外出連線並管理連線。
對於藍牙 BR/EDR,最常見的插槽類型是 RFCOMM,這也是 Android API 所支援的類型。 RFCOMM 是一種以連線為導向的藍牙 BR/EDR 串流傳輸。 它也被稱為序列埠配置檔(SPP)。 要建立一個準備好接收藍牙 BR/EDR 連線的監聽 BluetoothServerSocket ,請使用 BluetoothAdapter#listenUsingRfcommWithServiceRecord BluetoothAdapter.listenUsingRfcommWithServiceRecord()。
藍牙 LE 則使用 LE 連線導向通道(Connection-oriented Channel,CoC)。 LE CoC 是一種以連線為導向、透過藍牙 LE 串流傳輸的系統,並具備基於信用的流量控制。 相應地,請使用 BluetoothAdapter#listenUsingL2capChannel BluetoothAdapter.listenUsingL2capChannel() 一個準備接收藍牙LE連線的監聽 BluetoothServerSocket 工具。 對於 LE CoC,你可以用 #getPsm() 來取得對等端需要用來連接你的套接字的協定/服務多工器(PSM)值。
監聽 BluetoothServerSocket 建立後,撥打 #accept() 監聽來訪連線請求。 此通話會阻塞直到建立連線,屆時會回傳 a BluetoothSocket 來管理連線。 一旦取得, BluetoothSocket 當不再需要時,打電話 #close() 給他們 BluetoothServerSocket 接洽是個好主意。 關閉 will em notBluetoothServerSocket/em< 關閉 returns>。<>BluetoothSocket
BluetoothServerSocket 是線程安全的。 特別是, #close 總是會立即中止正在進行的操作並關閉伺服器插槽。
<div 類別=「特殊參考」>
<h3>開發者指南</h3>
想了解更多藍牙使用資訊,請閱讀 藍牙 開發者指南。 </div>
Java 文件 android.bluetooth.BluetoothServerSocket。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| JniPeerMembers |
一個聆聽藍牙插座。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| Psm |
回傳監聽的 L2CAP 連線導向通道(CoC)伺服器插槽所分配的動態協定/服務多工器(PSM)值。 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
方法
| 名稱 | Description |
|---|---|
| Accept() |
封鎖直到連線建立。 |
| Accept(Int32) |
封鎖直到連線建立,並有逾時。 |
| AcceptAsync() |
一個聆聽藍牙插座。 |
| AcceptAsync(Int32) |
一個聆聽藍牙插座。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Close() |
立即關閉這個插槽,並釋放所有相關資源。 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| Equals(Object) |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| JavaFinalize() |
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
一個聆聽藍牙插座。 (繼承來源 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
一個聆聽藍牙插座。 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個聆聽藍牙插座。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |