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
该方法配置的。 Internet 协议套接字的数据报通道支持以下选项:<blockquote<>table class=“striped”><caption style=“display:none”>Socket options</caption><thead<>tr><th scope=“col”>Option Name</th<>scope=“col”>Description</th></tr<>/thead><tbody><tr><th scope=“row”<java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF
>/th><td> The size套接字发送缓冲区 </td/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> 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> Internet Protocol (IP) 标头 </td<>/tr><tr><th scope=“row”><java.net.StandardSocketOptions#IP_MULTICAST_IF IP_MULTICAST_IF
/th><td> Internet Protocol (IP) 多播数据报<的网络接口 /td<>/tr><th><scope=“row”java.net.StandardSocketOptions#IP_MULTICAST_TTL IP_MULTICAST_TTL
<>/th><td> The <em>time-to-live</em><对于 Internet 协议 (IP) 多播数据报 </td<>/tr<>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 对象的托管表示形式时使用的构造函数;由运行时调用。 |
DatagramChannel(SelectorProvider) |
初始化此类的新实例。 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsBlocking |
指示此通道是否处于阻塞模式。 (继承自 AbstractSelectableChannel) |
IsConnected |
返回此通道的套接字是否已连接。 |
IsOpen |
如果此通道处于打开状态,则返回 true。 (继承自 AbstractInterruptibleChannel) |
IsRegistered |
指示此通道是否已向一个或多个选择器注册。 (继承自 AbstractSelectableChannel) |
JniIdentityHashCode |
面向数据报的套接字的可选通道。 (继承自 Object) |
JniPeerMembers |
面向数据报的套接字的可选通道。 |
LocalAddress |
面向数据报的套接字的可选通道。 |
PeerReference |
面向数据报的套接字的可选通道。 (继承自 Object) |
RemoteAddress |
面向数据报的套接字的可选通道。 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
方法
显式接口实现
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) |
面向数据报的套接字的可选通道。 |