共用方式為


DatagramChannel 類別

定義

數據報導向套接字的可選取通道。

[Android.Runtime.Register("java/nio/channels/DatagramChannel", DoNotGenerateAcw=true)]
public abstract class DatagramChannel : Java.Nio.Channels.Spi.AbstractSelectableChannel, IDisposable, Java.Interop.IJavaPeerable, 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 一個方法會建立數據報通道。 無法為任意、預先存在的數據報套接字建立通道。 新建立的數據報通道已開啟,但未連線。 數據報通道不需要連接, #send send 才能使用 和 #receive receive 方法。 藉由叫用數據 #connect connect 報通道的方法,即可連接數據報通道,以避免安全性檢查的額外負荷,否則會在每個傳送和接收作業中執行。 數據報通道必須連接才能使用 #read(java.nio.ByteBuffer) read#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<>/tr/thead><tbody><tr><<> th scope=“row”>java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF</th><td 大小>的套接字傳送緩衝區 </td/tr<>th><scope=“row”>java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF</th<>td> 套接字接收緩衝區 </td<<>>/><><tr th scope=“row”java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR></th td Re-use address </td></tr<>><th scope=“row”java.net.StandardSocketOptions#SO_BROADCAST SO_BROADCAST<>/th>><<td>> 允許傳輸廣播數據報 </td></tr><tr>th scope=“row”>java.net.StandardSocketOptions#IP_TOS IP_TOS</th<>td> 因特網通訊協定 (IP) 標頭 </td/><tr tr<>th scope=“row”/th td 因特網通訊協定 (IP) 多播數據報 </td<>></tr<>tr<>th scope=“row”java.net.StandardSocketOptions#IP_MULTICAST_IF IP_MULTICAST_IF><java.net.StandardSocketOptions#IP_MULTICAST_TTL IP_MULTICAST_TTL<>/th<><>td>> em <>time-to-live</em> 的網络介面<對於因特網通訊協定 (IP) 多播數據報 </td<>/tr th<><>scope=“row”java.net.StandardSocketOptions#IP_MULTICAST_LOOP IP_MULTICAST_LOOP<>/th><td> Loopback for Internet Protocol (IP) 多播數據報 </td></tr></tbody></table></blockquote>,也可能支援其他 (實作特定) 選項。

數據報通道可供多個並行線程使用。 它們支援並行讀取和寫入,不過最多一個線程可能正在讀取,而且最多一個線程可能在任何指定時間寫入。

已在1.4中新增。

java.nio.channels.DatagramChannelJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

DatagramChannel(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

DatagramChannel(SelectorProvider)

初始化這個類別的新執行個體。

屬性

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
IsBlocking

指出這個通道是否處於封鎖模式。

(繼承來源 AbstractSelectableChannel)
IsConnected

傳回這個通道的套接字是否已連接。

IsOpen

如果這個通道已開啟,則傳回 true。

(繼承來源 AbstractInterruptibleChannel)
IsRegistered

指出此通道是否已向一或多個選取器註冊。

(繼承來源 AbstractSelectableChannel)
JniIdentityHashCode

數據報導向套接字的可選取通道。

(繼承來源 Object)
JniPeerMembers

數據報導向套接字的可選取通道。

LocalAddress

數據報導向套接字的可選取通道。

PeerReference

數據報導向套接字的可選取通道。

(繼承來源 Object)
RemoteAddress

數據報導向套接字的可選取通道。

ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

方法

Begin()

標記可能會無限期封鎖的 I/O 作業開頭。

(繼承來源 AbstractInterruptibleChannel)
Bind(SocketAddress)

已在1中新增。

BlockingLock()

取得和同步registerconfigureBlocking處理所使用的物件。

(繼承來源 AbstractSelectableChannel)
Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Close()

關閉此通道。

(繼承來源 AbstractInterruptibleChannel)
ConfigureBlocking(Boolean)

調整此通道的封鎖模式。

(繼承來源 AbstractSelectableChannel)
Connect(SocketAddress)

連接此通道的套接字。

ConnectAsync(SocketAddress)

數據報導向套接字的可選取通道。

Disconnect()

中斷此通道的套接字連線。

Dispose()

數據報導向套接字的可選取通道。

(繼承來源 Object)
Dispose(Boolean)

數據報導向套接字的可選取通道。

(繼承來源 Object)
End(Boolean)

標記可能會無限期封鎖的 I/O 作業結尾。

(繼承來源 AbstractInterruptibleChannel)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
ImplCloseChannel()

關閉此通道。

(繼承來源 AbstractSelectableChannel)
ImplCloseSelectableChannel()

關閉這個可選取的通道。

(繼承來源 AbstractSelectableChannel)
ImplConfigureBlocking(Boolean)

調整此通道的封鎖模式。

(繼承來源 AbstractSelectableChannel)
JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
KeyFor(Selector)

取得指定選取器的這個通道選取鍵。

(繼承來源 AbstractSelectableChannel)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Open()

開啟數據報通道。

Open(IProtocolFamily)

開啟數據報通道。

Provider()

傳回建立這個通道的提供者。

(繼承來源 AbstractSelectableChannel)
Read(ByteBuffer)

從這個通道讀取數據報。

Read(ByteBuffer[])

從這個通道讀取數據報。

Read(ByteBuffer[], Int32, Int32)

從這個通道讀取數據報。

Receive(ByteBuffer)

透過這個通道接收數據報。

ReceiveAsync(ByteBuffer)

數據報導向套接字的可選取通道。

Register(Selector, Operations)

向指定的選取器註冊此通道,並傳回選取鍵。

(繼承來源 SelectableChannel)
Register(Selector, Operations, Object)

向指定的選取器註冊此通道,並傳回選取鍵。

(繼承來源 AbstractSelectableChannel)
Send(ByteBuffer, SocketAddress)

透過這個通道傳送數據報。

SendAsync(ByteBuffer, SocketAddress)

數據報導向套接字的可選取通道。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetOption(ISocketOption, Object)

已在1中新增。

Socket()

擷取與此通道相關聯的數據報套接字。

ToArray<T>()

數據報導向套接字的可選取通道。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

數據報導向套接字的可選取通道。

(繼承來源 Object)
ValidOps()

傳回識別此通道支援作業的作業集。

Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Write(ByteBuffer)

將數據報寫入這個通道。

Write(ByteBuffer[])

將數據報寫入這個通道。

Write(ByteBuffer[], Int32, Int32)

將數據報寫入這個通道。

明確介面實作

IJavaPeerable.Disposed()

數據報導向套接字的可選取通道。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

數據報導向套接字的可選取通道。

(繼承來源 Object)
IJavaPeerable.Finalized()

數據報導向套接字的可選取通道。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

數據報導向套接字的可選取通道。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

數據報導向套接字的可選取通道。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

數據報導向套接字的可選取通道。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

數據報導向套接字的可選取通道。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

數據報導向套接字的可選取通道。

GetJniTypeName(IJavaPeerable)

數據報導向套接字的可選取通道。

WriteAsync(IGatheringByteChannel, ByteBuffer[])

數據報導向套接字的可選取通道。

WriteAsync(IGatheringByteChannel, ByteBuffer[], Int32, Int32)

數據報導向套接字的可選取通道。

ReadAsync(IReadableByteChannel, ByteBuffer)

數據報導向套接字的可選取通道。

ReadAsync(IScatteringByteChannel, ByteBuffer[])

數據報導向套接字的可選取通道。

ReadAsync(IScatteringByteChannel, ByteBuffer[], Int32, Int32)

數據報導向套接字的可選取通道。

WriteAsync(IWritableByteChannel, ByteBuffer)

數據報導向套接字的可選取通道。

適用於