DatagramChannel 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個可選擇的通道,用於資料報導向的套接字。
[Android.Runtime.Register("java/nio/channels/DatagramChannel", DoNotGenerateAcw=true)]
public abstract class DatagramChannel : Java.Nio.Channels.Spi.AbstractSelectableChannel, IDisposable, Java.Nio.Channels.IByteChannel, Java.Nio.Channels.IGatheringByteChannel, Java.Nio.Channels.IScatteringByteChannel
[<Android.Runtime.Register("java/nio/channels/DatagramChannel", DoNotGenerateAcw=true)>]
type DatagramChannel = class
inherit AbstractSelectableChannel
interface IByteChannel
interface IReadableByteChannel
interface IChannel
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IWritableByteChannel
interface IGatheringByteChannel
interface IScatteringByteChannel
- 繼承
- 屬性
- 實作
備註
一個可選擇的通道,用於資料報導向的套接字。
資料報通道是透過呼叫 #open open 此類別的方法之一來建立的。 無法為任意既有的資料報套接字建立通道。 新建立的資料報通道是開啟的,但尚未連接。 使用 and #send send 方法不必連接#receive receive資料報通道。 資料報通道可透過呼叫其 #connect connect 方法連接,以避免每次發送與接收操作中安全檢查的額外負擔。 必須連接資料報通道才能使用 #read(java.nio.ByteBuffer) read and #write(java.nio.ByteBuffer) write 方法,因為這些方法不接受或回傳套接字位址。
一旦連接,資料報通道會保持連線狀態,直到斷開或關閉為止。 資料報通道是否連接,可透過呼叫其 #isConnected isConnected 方法來判斷。
套接字選項是透過此 #setOption(SocketOption,Object) setOption 方法進行配置的。 資料報通道連接網際網路協定套接字支援以下選項:<blockquote><table class=“striped”caption>< style=“display:none”>socket options</caption><thead><tr><th scope=“col”>Option Name</th><th scope =“col”>Description</th></thead><>< tbody><tr><th scope=“row”>java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF</th><td 大小>socket 發送緩衝區 </td></tr><tr th><scope = “row”>java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF</th><td> 接收緩衝<區大小 /td></tr><tr th><scope = “row”>java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR</th><td> 重複使用 </td></tr><tr th><scope = “row”>java.net.StandardSocketOptions#SO_BROADCAST SO_BROADCAST</th><td> 允許傳輸廣播資料報 </td></tr><tr><th 範圍=“row”>java.net.StandardSocketOptions#IP_TOS IP_TOS</th><td> 網際協定(IP)標頭<中的服務類型(ToS) 八位元組 /td></tr><tr><th scope =“row”>java.net.StandardSocketOptions#IP_MULTICAST_IF IP_MULTICAST_IF</th><td> 網際協定(IP)多播資料報<的網路介面 /td></tr><tr th><scope =“row”>java.net.StandardSocketOptions#IP_MULTICAST_TTL IP_MULTICAST_TTL</th><td><em>存活<時間/em>網際網路協定(IP)多播資料報 </td></tr><tr><th scope =“row”>java.net.StandardSocketOptions#IP_MULTICAST_LOOP IP_MULTICAST_LOOP</th><td> 網際協定(IP)多播資料報<回圈 /td></tr></tbody></table></blockquote> 也可能支援額外的(實作專屬)選項。
資料報通道對多個並行執行緒是安全的。 它們支援同時閱讀與寫入,但同時最多只有一個執行緒在閱讀,最多只有一個執行緒在寫入。
在 1.4 版本加入。
Java 文件 java.nio.channels.DatagramChannel。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| DatagramChannel(IntPtr, JniHandleOwnership) |
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
| DatagramChannel(SelectorProvider) |
初始化此類別的新實例。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| IsBlocking |
顯示該頻道是否處於阻塞模式。 (繼承來源 AbstractSelectableChannel) |
| IsConnected |
無論該通道的插座是否連接,都會回傳。 |
| IsOpen |
如果此通道開啟,則回傳為真。 (繼承來源 AbstractInterruptibleChannel) |
| IsRegistered |
顯示該頻道是否註冊於一個或多個選擇器。 (繼承來源 AbstractSelectableChannel) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
一個可選擇的通道,用於資料報導向的套接字。 (繼承來源 JavaObject) |
| JniPeerMembers |
一個可選擇的通道,用於資料報導向的套接字。 |
| LocalAddress |
回傳該通道的套接字綁定的套接字位址,或 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| RemoteAddress |
回傳該通道套接字所連接的遠端位址,或 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
方法
明確介面實作
| 名稱 | 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) |
一個可選擇的通道,用於資料報導向的套接字。 |
| ReadAsync(IReadableByteChannel, ByteBuffer) |
一個可選擇的通道,用於資料報導向的套接字。 |
| ReadAsync(IScatteringByteChannel, ByteBuffer[], Int32, Int32) |
一個可選擇的通道,用於資料報導向的套接字。 |
| ReadAsync(IScatteringByteChannel, ByteBuffer[]) |
一個可選擇的通道,用於資料報導向的套接字。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |
| WriteAsync(IGatheringByteChannel, ByteBuffer[], Int32, Int32) |
一個可選擇的通道,用於資料報導向的套接字。 |
| WriteAsync(IGatheringByteChannel, ByteBuffer[]) |
一個可選擇的通道,用於資料報導向的套接字。 |
| WriteAsync(IWritableByteChannel, ByteBuffer) |
一個可選擇的通道,用於資料報導向的套接字。 |