DatagramChannel 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
數據報導向套接字的可選取通道。
[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.DatagramChannel
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
DatagramChannel(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
DatagramChannel(SelectorProvider) |
初始化這個類別的新執行個體。 |
屬性
Class |
傳回這個 |
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 基礎結構,並不適合直接從您的程式代碼使用。 |
方法
明確介面實作
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[], Int32, Int32) |
數據報導向套接字的可選取通道。 |
WriteAsync(IGatheringByteChannel, ByteBuffer[]) |
數據報導向套接字的可選取通道。 |
ReadAsync(IReadableByteChannel, ByteBuffer) |
數據報導向套接字的可選取通道。 |
ReadAsync(IScatteringByteChannel, ByteBuffer[], Int32, Int32) |
數據報導向套接字的可選取通道。 |
ReadAsync(IScatteringByteChannel, ByteBuffer[]) |
數據報導向套接字的可選取通道。 |
WriteAsync(IWritableByteChannel, ByteBuffer) |
數據報導向套接字的可選取通道。 |