public abstract class

DatagramSocketImpl

extends Object
implements SocketOptions
java.lang.Object
   ↳ java.net.DatagramSocketImpl

Class Overview

Abstract datagram and multicast socket implementation base class.

Summary

[Expand]
Inherited Constants
From interface java.net.SocketOptions
Fields
protected FileDescriptor fd The file descriptor object.
protected int localPort The local port number.
Public Constructors
DatagramSocketImpl()
Protected Methods
abstract void bind(int lport, InetAddress laddr)
Binds a datagram socket to a local port and address.
abstract void close()
Close the socket.
void connect(InetAddress address, int port)
Connects a datagram socket to a remote destination.
abstract void create()
Creates a datagram socket.
void disconnect()
Disconnects a datagram socket from its remote destination.
FileDescriptor getFileDescriptor()
Gets the datagram socket file descriptor.
int getLocalPort()
Gets the local port.
abstract byte getTTL()
This method is deprecated. use getTimeToLive instead.
abstract int getTimeToLive()
Retrieve the TTL (time-to-live) option.
abstract void join(InetAddress inetaddr)
Join the multicast group.
abstract void joinGroup(SocketAddress mcastaddr, NetworkInterface netIf)
Join the multicast group.
abstract void leave(InetAddress inetaddr)
Leave the multicast group.
abstract void leaveGroup(SocketAddress mcastaddr, NetworkInterface netIf)
Leave the multicast group.
abstract int peek(InetAddress i)
Peek at the packet to see who it is from.
abstract int peekData(DatagramPacket p)
Peek at the packet to see who it is from.
abstract void receive(DatagramPacket p)
Receive the datagram packet.
abstract void send(DatagramPacket p)
Sends a datagram packet.
abstract void setTTL(byte ttl)
This method is deprecated. use setTimeToLive instead.
abstract void setTimeToLive(int ttl)
Set the TTL (time-to-live) option.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.net.SocketOptions

Fields

protected FileDescriptor fd

The file descriptor object.

protected int localPort

The local port number.

Public Constructors

public DatagramSocketImpl ()

Protected Methods

protected abstract void bind (int lport, InetAddress laddr)

Binds a datagram socket to a local port and address.

Parameters
lport the local port
laddr the local address
Throws
SocketException if there is an error in the underlying protocol, such as a TCP error.

protected abstract void close ()

Close the socket.

protected void connect (InetAddress address, int port)

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 the remote InetAddress to connect to
port the remote port number
Throws
SocketException may be thrown if the socket cannot be connected to the remote destination

protected abstract void create ()

Creates a datagram socket.

Throws
SocketException if there is an error in the underlying protocol, such as a TCP error.

protected void disconnect ()

Disconnects a datagram socket from its remote destination.

protected FileDescriptor getFileDescriptor ()

Gets the datagram socket file descriptor.

Returns
  • a FileDescriptor object representing the datagram socket file descriptor

protected int getLocalPort ()

Gets the local port.

Returns
  • an int representing the local port value

protected abstract byte getTTL ()

This method is deprecated.
use getTimeToLive instead.

Retrieve the TTL (time-to-live) option.

Returns
  • a byte representing the TTL value
Throws
IOException if an I/O exception occurs while retrieving the time-to-live option
See Also

protected abstract int getTimeToLive ()

Retrieve the TTL (time-to-live) option.

Returns
  • an int representing the time-to-live value
Throws
IOException if an I/O exception occurs while retrieving the time-to-live option

protected abstract void join (InetAddress inetaddr)

Join the multicast group.

Parameters
inetaddr multicast address to join.
Throws
IOException if an I/O exception occurs while joining the multicast group.

protected abstract void joinGroup (SocketAddress mcastaddr, NetworkInterface netIf)

Join the multicast group.

Parameters
mcastaddr address to join.
netIf specifies the local interface to receive multicast datagram packets
Throws
IOException if an I/O exception occurs while joining the multicast group

protected abstract void leave (InetAddress inetaddr)

Leave the multicast group.

Parameters
inetaddr multicast address to leave.
Throws
IOException if an I/O exception occurs while leaving the multicast group.

protected abstract void leaveGroup (SocketAddress mcastaddr, NetworkInterface netIf)

Leave the multicast group.

Parameters
mcastaddr address to leave.
netIf specified the local interface to leave the group at
Throws
IOException if an I/O exception occurs while leaving the multicast group

protected abstract int peek (InetAddress i)

Peek at the packet to see who it is from. Updates the specified InetAddress to the address which the packet came from.

Parameters
i an InetAddress object
Returns
  • the port number which the packet came from.
Throws
IOException if an I/O exception occurs
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.

protected abstract int peekData (DatagramPacket p)

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 the Packet Received.
Returns
  • the port number which the packet came from.
Throws
IOException if an I/O exception occurs
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.

protected abstract void receive (DatagramPacket p)

Receive the datagram packet.

Parameters
p the Packet Received.
Throws
IOException if an I/O exception occurs while receiving the datagram packet.
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.

protected abstract void send (DatagramPacket p)

Sends a datagram packet. The packet contains the data and the destination address to send the packet to.

Parameters
p the packet to be sent.
Throws
IOException if an I/O exception occurs while sending the datagram packet.
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.

protected abstract void setTTL (byte ttl)

This method is deprecated.
use setTimeToLive instead.

Set the TTL (time-to-live) option.

Parameters
ttl a byte specifying the TTL value
Throws
IOException if an I/O exception occurs while setting the time-to-live option.
See Also

protected abstract void setTimeToLive (int ttl)

Set the TTL (time-to-live) option.

Parameters
ttl an int specifying the time-to-live value
Throws
IOException if an I/O exception occurs while setting the time-to-live option.
See Also