DatagramSocketImpl
abstract class DatagramSocketImpl : SocketOptions
kotlin.Any | |
↳ | java.net.DatagramSocketImpl |
Abstract datagram and multicast socket implementation base class.
Summary
Inherited constants | |
---|---|
Public constructors | |
---|---|
Protected methods | |
---|---|
abstract Unit |
bind(lport: Int, laddr: InetAddress!) Binds a datagram socket to a local port and address. |
abstract Unit |
close() Close the socket. |
open Unit |
connect(address: InetAddress!, port: Int) Connects a datagram socket to a remote destination. |
abstract Unit |
create() Creates a datagram socket. |
open Unit |
Disconnects a datagram socket from its remote destination. |
open FileDescriptor! |
Gets the datagram socket file descriptor. |
open Int |
Gets the local port. |
open T |
getOption(name: SocketOption<T>!) Called to get a socket option. |
abstract Byte |
getTTL() Retrieve the TTL (time-to-live) option. |
abstract Int |
Retrieve the TTL (time-to-live) option. |
abstract Unit |
join(inetaddr: InetAddress!) Join the multicast group. |
abstract Unit |
joinGroup(mcastaddr: SocketAddress!, netIf: NetworkInterface!) Join the multicast group. |
abstract Unit |
leave(inetaddr: InetAddress!) Leave the multicast group. |
abstract Unit |
leaveGroup(mcastaddr: SocketAddress!, netIf: NetworkInterface!) Leave the multicast group. |
abstract Int |
peek(i: InetAddress!) Peek at the packet to see who it is from. |
abstract Int |
peekData(p: DatagramPacket!) Peek at the packet to see who it is from. |
abstract Unit |
receive(p: DatagramPacket!) Receive the datagram packet. |
abstract Unit |
send(p: DatagramPacket!) Sends a datagram packet. |
open Unit |
setOption(name: SocketOption<T>!, value: T) Called to set a socket option. |
abstract Unit |
Set the TTL (time-to-live) option. |
abstract Unit |
setTimeToLive(ttl: Int) Set the TTL (time-to-live) option. |
open MutableSet<SocketOption<*>!>! |
Returns a set of SocketOptions supported by this impl and by this impl's socket (DatagramSocket or MulticastSocket) |
Inherited functions | |
---|---|
Properties | |
---|---|
FileDescriptor! |
The file descriptor object. |
Int |
The local port number. |
Public constructors
Protected methods
bind
protected abstract fun bind(
lport: Int,
laddr: InetAddress!
): Unit
Binds a datagram socket to a local port and address.
Parameters | |
---|---|
lport |
Int: the local port |
laddr |
InetAddress!: the local address |
Exceptions | |
---|---|
java.net.SocketException |
if there is an error in the underlying protocol, such as a TCP error. |
connect
protected open fun connect(
address: InetAddress!,
port: Int
): Unit
Connects a datagram socket to a remote destination. This associates the remote address with the local socket so that datagrams may only be sent to this destination and received from this destination. This may be overridden to call a native system connect.
If the remote destination to which the socket is connected does not exist, or is otherwise unreachable, and if an ICMP destination unreachable packet has been received for that address, then a subsequent call to send or receive may throw a PortUnreachableException. Note, there is no guarantee that the exception will be thrown.
Parameters | |
---|---|
address |
InetAddress!: the remote InetAddress to connect to |
port |
Int: the remote port number |
Exceptions | |
---|---|
java.net.SocketException |
may be thrown if the socket cannot be connected to the remote destination |
create
protected abstract fun create(): Unit
Creates a datagram socket.
Exceptions | |
---|---|
java.net.SocketException |
if there is an error in the underlying protocol, such as a TCP error. |
disconnect
protected open fun disconnect(): Unit
Disconnects a datagram socket from its remote destination.
getFileDescriptor
protected open fun getFileDescriptor(): FileDescriptor!
Gets the datagram socket file descriptor.
Return | |
---|---|
FileDescriptor! |
a FileDescriptor object representing the datagram socket file descriptor |
getLocalPort
protected open fun getLocalPort(): Int
Gets the local port.
Return | |
---|---|
Int |
an int representing the local port value |
getOption
protected open fun <T : Any!> getOption(name: SocketOption<T>!): T
Called to get a socket option.
Parameters | |
---|---|
<T> |
The type of the socket option value |
name |
SocketOption<T>!: The socket option |
Return | |
---|---|
T |
the socket option |
Exceptions | |
---|---|
java.lang.UnsupportedOperationException |
if the DatagramSocketImpl does not support the option |
java.lang.NullPointerException |
if name is null |
java.io.IOException |
if an I/O problem occurs while attempting to set the option |
getTTL
protected abstract fungetTTL(): Byte
Deprecated: use getTimeToLive instead.
Retrieve the TTL (time-to-live) option.
Return | |
---|---|
Byte |
a byte representing the TTL value |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while retrieving the time-to-live option |
See Also
getTimeToLive
protected abstract fun getTimeToLive(): Int
Retrieve the TTL (time-to-live) option.
Return | |
---|---|
Int |
an int representing the time-to-live value |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while retrieving the time-to-live option |
See Also
join
protected abstract fun join(inetaddr: InetAddress!): Unit
Join the multicast group.
Parameters | |
---|---|
inetaddr |
InetAddress!: multicast address to join. |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while joining the multicast group. |
joinGroup
protected abstract fun joinGroup(
mcastaddr: SocketAddress!,
netIf: NetworkInterface!
): Unit
Join the multicast group.
Parameters | |
---|---|
mcastaddr |
SocketAddress!: address to join. |
netIf |
NetworkInterface!: specifies the local interface to receive multicast datagram packets |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while joining the multicast group |
leave
protected abstract fun leave(inetaddr: InetAddress!): Unit
Leave the multicast group.
Parameters | |
---|---|
inetaddr |
InetAddress!: multicast address to leave. |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while leaving the multicast group. |
leaveGroup
protected abstract fun leaveGroup(
mcastaddr: SocketAddress!,
netIf: NetworkInterface!
): Unit
Leave the multicast group.
Parameters | |
---|---|
mcastaddr |
SocketAddress!: address to leave. |
netIf |
NetworkInterface!: specified the local interface to leave the group at |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while leaving the multicast group |
peek
protected abstract fun peek(i: InetAddress!): Int
Peek at the packet to see who it is from. Updates the specified InetAddress
to the address which the packet came from.
Parameters | |
---|---|
i |
InetAddress!: an InetAddress object |
Return | |
---|---|
Int |
the port number which the packet came from. |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs |
java.net.PortUnreachableException |
may be thrown if the socket is connected to a currently unreachable destination. Note, there is no guarantee that the exception will be thrown. |
peekData
protected abstract fun peekData(p: DatagramPacket!): Int
Peek at the packet to see who it is from. The data is copied into the specified DatagramPacket
. The data is returned, but not consumed, so that a subsequent peekData/receive operation will see the same data.
Parameters | |
---|---|
p |
DatagramPacket!: the Packet Received. |
Return | |
---|---|
Int |
the port number which the packet came from. |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs |
java.net.PortUnreachableException |
may be thrown if the socket is connected to a currently unreachable destination. Note, there is no guarantee that the exception will be thrown. |
receive
protected abstract fun receive(p: DatagramPacket!): Unit
Receive the datagram packet.
Parameters | |
---|---|
p |
DatagramPacket!: the Packet Received. |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while receiving the datagram packet. |
java.net.PortUnreachableException |
may be thrown if the socket is connected to a currently unreachable destination. Note, there is no guarantee that the exception will be thrown. |
send
protected abstract fun send(p: DatagramPacket!): Unit
Sends a datagram packet. The packet contains the data and the destination address to send the packet to.
Parameters | |
---|---|
p |
DatagramPacket!: the packet to be sent. |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while sending the datagram packet. |
java.net.PortUnreachableException |
may be thrown if the socket is connected to a currently unreachable destination. Note, there is no guarantee that the exception will be thrown. |
setOption
protected open fun <T : Any!> setOption(
name: SocketOption<T>!,
value: T
): Unit
Called to set 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 valid for some options. |
Exceptions | |
---|---|
java.lang.UnsupportedOperationException |
if the DatagramSocketImpl does not support the option |
java.lang.NullPointerException |
if name is null |
java.io.IOException |
if an I/O problem occurs while attempting to set the option |
setTTL
protected abstract funsetTTL(ttl: Byte): Unit
Deprecated: use setTimeToLive instead.
Set the TTL (time-to-live) option.
Parameters | |
---|---|
ttl |
Byte: a byte specifying the TTL value |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while setting the time-to-live option. |
See Also
setTimeToLive
protected abstract fun setTimeToLive(ttl: Int): Unit
Set the TTL (time-to-live) option.
Parameters | |
---|---|
ttl |
Int: an int specifying the time-to-live value |
Exceptions | |
---|---|
java.io.IOException |
if an I/O exception occurs while setting the time-to-live option. |
See Also
supportedOptions
protected open fun supportedOptions(): MutableSet<SocketOption<*>!>!
Returns a set of SocketOptions supported by this impl and by this impl's socket (DatagramSocket or MulticastSocket)
Return | |
---|---|
MutableSet<SocketOption<*>!>! |
a Set of SocketOptions |