Added in API level 24

NetworkChannel

interface NetworkChannel : Channel
java.nio.channels.NetworkChannel

A channel to a network socket.

A channel that implements this interface is a channel to a network socket. The bind method is used to bind the socket to a local address, the getLocalAddress method returns the address that the socket is bound to, and the setOption and getOption methods are used to set and query socket options. An implementation of this interface should specify the socket options that it supports.

The bind and setOption methods that do not otherwise have a value to return are specified to return the network channel upon which they are invoked. This allows method invocations to be chained. Implementations of this interface should specialize the return type so that method invocations on the implementation class can be chained.

Summary

Public methods
abstract NetworkChannel!

Binds the channel's socket to a local address.

abstract SocketAddress!

Returns the socket address that this channel's socket is bound to.

abstract T

Returns the value of a socket option.

abstract NetworkChannel!
setOption(name: SocketOption<T>!, value: T)

Sets the value of a socket option.

abstract MutableSet<SocketOption<*>!>!

Returns a set of the socket options supported by this channel.

Inherited functions

Public methods

bind

Added in API level 24
abstract fun bind(local: SocketAddress!): NetworkChannel!

Binds the channel's socket to a local address.

This method is used to establish an association between the socket and a local address. Once an association is established then the socket remains bound until the channel is closed. If the local parameter has the value null then the socket will be bound to an address that is assigned automatically.

Parameters
local SocketAddress!: The address to bind the socket, or null to bind the socket to an automatically assigned socket address
Return
NetworkChannel! This channel
Exceptions
java.nio.channels.AlreadyBoundException If the socket is already bound
java.nio.channels.UnsupportedAddressTypeException If the type of the given address is not supported
java.nio.channels.ClosedChannelException If the channel is closed
java.io.IOException If some other I/O error occurs
java.lang.SecurityException If a security manager is installed and it denies an unspecified permission. An implementation of this interface should specify any required permissions.

See Also

getLocalAddress

Added in API level 24
abstract fun getLocalAddress(): SocketAddress!

Returns the socket address that this channel's socket is bound to.

Where the channel is bound to an Internet Protocol socket address then the return value from this method is of type .

Return
SocketAddress! The socket address that the socket is bound to, or null if the channel's socket is not bound
Exceptions
java.nio.channels.ClosedChannelException If the channel is closed
java.io.IOException If an I/O error occurs

getOption

Added in API level 24
abstract fun <T : Any!> getOption(name: SocketOption<T>!): T

Returns the value of a socket option.

Parameters
<T> The type of the socket option value
name SocketOption<T>!: The socket option
Return
T The value of the socket option. A value of null may be a valid value for some socket options.
Exceptions
java.lang.UnsupportedOperationException If the socket option is not supported by this channel
java.nio.channels.ClosedChannelException If this channel is closed
java.io.IOException If an I/O error occurs

setOption

Added in API level 24
abstract fun <T : Any!> setOption(
    name: SocketOption<T>!,
    value: T
): NetworkChannel!

Sets the value of a socket option.

Parameters
<T> The type of the socket option value
name SocketOption<T>!: The socket option
value T: The value of the socket option. A value of null may be a valid value for some socket options.
Return
NetworkChannel! This channel
Exceptions
java.lang.UnsupportedOperationException If the socket option is not supported by this channel
java.lang.IllegalArgumentException If the value is not a valid value for this socket option
java.nio.channels.ClosedChannelException If this channel is closed
java.io.IOException If an I/O error occurs

supportedOptions

Added in API level 24
abstract fun supportedOptions(): MutableSet<SocketOption<*>!>!

Returns a set of the socket options supported by this channel.

This method will continue to return the set of options even after the channel has been closed.

Return
MutableSet<SocketOption<*>!>! A set of the socket options supported by this channel