DatagramChannel Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
A selectable channel for datagram-oriented sockets.
[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
- Inheritance
- Attributes
- Implements
Remarks
A selectable channel for datagram-oriented sockets.
A datagram channel is created by invoking one of the #open open
methods of this class. It is not possible to create a channel for an arbitrary, pre-existing datagram socket. A newly-created datagram channel is open but not connected. A datagram channel need not be connected in order for the #send send
and #receive receive
methods to be used. A datagram channel may be connected, by invoking its #connect connect
method, in order to avoid the overhead of the security checks are otherwise performed as part of every send and receive operation. A datagram channel must be connected in order to use the #read(java.nio.ByteBuffer) read
and #write(java.nio.ByteBuffer) write
methods, since those methods do not accept or return socket addresses.
Once connected, a datagram channel remains connected until it is disconnected or closed. Whether or not a datagram channel is connected may be determined by invoking its #isConnected isConnected
method.
Socket options are configured using the #setOption(SocketOption,Object) setOption
method. A datagram channel to an Internet Protocol socket supports the following options: <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> The size of the socket send buffer </td> </tr> <tr> <th scope="row"> java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF
</th> <td> The size of the socket receive buffer </td> </tr> <tr> <th scope="row"> java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR
</th> <td> Re-use address </td> </tr> <tr> <th scope="row"> java.net.StandardSocketOptions#SO_BROADCAST SO_BROADCAST
</th> <td> Allow transmission of broadcast datagrams </td> </tr> <tr> <th scope="row"> java.net.StandardSocketOptions#IP_TOS IP_TOS
</th> <td> The Type of Service (ToS) octet in the Internet Protocol (IP) header </td> </tr> <tr> <th scope="row"> java.net.StandardSocketOptions#IP_MULTICAST_IF IP_MULTICAST_IF
</th> <td> The network interface for Internet Protocol (IP) multicast datagrams </td> </tr> <tr> <th scope="row"> java.net.StandardSocketOptions#IP_MULTICAST_TTL IP_MULTICAST_TTL
</th> <td> The <em>time-to-live</em> for Internet Protocol (IP) multicast datagrams </td> </tr> <tr> <th scope="row"> java.net.StandardSocketOptions#IP_MULTICAST_LOOP IP_MULTICAST_LOOP
</th> <td> Loopback for Internet Protocol (IP) multicast datagrams </td> </tr> </tbody> </table> </blockquote> Additional (implementation specific) options may also be supported.
Datagram channels are safe for use by multiple concurrent threads. They support concurrent reading and writing, though at most one thread may be reading and at most one thread may be writing at any given time.
Added in 1.4.
Java documentation for java.nio.channels.DatagramChannel
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
DatagramChannel(IntPtr, JniHandleOwnership) |
A constructor used when creating managed representations of JNI objects; called by the runtime. |
DatagramChannel(SelectorProvider) |
Initializes a new instance of this class. |
Properties
Class |
Returns the runtime class of this |
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
IsBlocking |
Indicates whether this channel is in blocking mode. (Inherited from AbstractSelectableChannel) |
IsConnected |
Returns whether this channel's socket is connected or not. |
IsOpen |
Returns true if this channel is open. (Inherited from AbstractInterruptibleChannel) |
IsRegistered |
Indicates whether this channel is registered with one or more selectors. (Inherited from AbstractSelectableChannel) |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
LocalAddress | |
PeerReference | (Inherited from Object) |
RemoteAddress | |
ThresholdClass |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
ThresholdType |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
Methods
Begin() |
Marks the beginning of an I/O operation that might block indefinitely. (Inherited from AbstractInterruptibleChannel) |
Bind(SocketAddress) |
Added in 1. |
BlockingLock() |
Gets the object used for the synchronization of |
Clone() |
Creates and returns a copy of this object. (Inherited from Object) |
Close() |
Closes this channel. (Inherited from AbstractInterruptibleChannel) |
ConfigureBlocking(Boolean) |
Adjusts this channel's blocking mode. (Inherited from AbstractSelectableChannel) |
Connect(SocketAddress) |
Connects this channel's socket. |
ConnectAsync(SocketAddress) | |
Disconnect() |
Disconnects this channel's socket. |
Dispose() | (Inherited from Object) |
Dispose(Boolean) | (Inherited from Object) |
End(Boolean) |
Marks the end of an I/O operation that might block indefinitely. (Inherited from AbstractInterruptibleChannel) |
Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
ImplCloseChannel() |
Closes this channel. (Inherited from AbstractSelectableChannel) |
ImplCloseSelectableChannel() |
Closes this selectable channel. (Inherited from AbstractSelectableChannel) |
ImplConfigureBlocking(Boolean) |
Adjusts this channel's blocking mode. (Inherited from AbstractSelectableChannel) |
JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
KeyFor(Selector) |
Gets this channel's selection key for the specified selector. (Inherited from AbstractSelectableChannel) |
Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
Open() |
Opens a datagram channel. |
Open(IProtocolFamily) |
Opens a datagram channel. |
Provider() |
Returns the provider that created this channel. (Inherited from AbstractSelectableChannel) |
Read(ByteBuffer) |
Reads a datagram from this channel. |
Read(ByteBuffer[], Int32, Int32) |
Reads a datagram from this channel. |
Read(ByteBuffer[]) |
Reads a datagram from this channel. |
Receive(ByteBuffer) |
Receives a datagram via this channel. |
ReceiveAsync(ByteBuffer) | |
Register(Selector, Operations, Object) |
Registers this channel with the given selector, returning a selection key. (Inherited from AbstractSelectableChannel) |
Register(Selector, Operations) |
Registers this channel with the given selector, returning a selection key. (Inherited from SelectableChannel) |
Send(ByteBuffer, SocketAddress) |
Sends a datagram via this channel. |
SendAsync(ByteBuffer, SocketAddress) | |
SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
SetOption(ISocketOption, Object) |
Added in 1. |
Socket() |
Retrieves a datagram socket associated with this channel. |
ToArray<T>() | (Inherited from Object) |
ToString() |
Returns a string representation of the object. (Inherited from Object) |
UnregisterFromRuntime() | (Inherited from Object) |
ValidOps() |
Returns an operation set identifying this channel's supported operations. |
Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Write(ByteBuffer) |
Writes a datagram to this channel. |
Write(ByteBuffer[], Int32, Int32) |
Writes a datagram to this channel. |
Write(ByteBuffer[]) |
Writes a datagram to this channel. |
Explicit Interface Implementations
IJavaPeerable.Disposed() | (Inherited from Object) |
IJavaPeerable.DisposeUnlessReferenced() | (Inherited from Object) |
IJavaPeerable.Finalized() | (Inherited from Object) |
IJavaPeerable.JniManagedPeerState | (Inherited from Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from Object) |