FileDocCategorySizeDatePackage
DatagramSocketImpl.javaAPI DocJava SE 6 API7981Tue Jun 10 00:25:40 BST 2008java.net

DatagramSocketImpl

public abstract class DatagramSocketImpl extends Object implements SocketOptions
Abstract datagram and multicast socket implementation base class.
author
Pavani Diwanji
since
JDK1.1

Fields Summary
protected int
localPort
The local port number.
protected FileDescriptor
fd
The file descriptor object.
Constructors Summary
Methods Summary
protected abstract voidbind(int lport, java.net.InetAddress laddr)
Binds a datagram socket to a local port and address.

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

protected abstract voidclose()
Close the socket.

protected voidconnect(java.net.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.

param
address the remote InetAddress to connect to
param
port the remote port number
exception
SocketException may be thrown if the socket cannot be connected to the remote destination
since
1.4

protected abstract voidcreate()
Creates a datagram socket.

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

protected voiddisconnect()
Disconnects a datagram socket from its remote destination.

since
1.4

protected java.io.FileDescriptorgetFileDescriptor()
Gets the datagram socket file descriptor.

return
a FileDescriptor object representing the datagram socket file descriptor

	return fd;
    
protected intgetLocalPort()
Gets the local port.

return
an int representing the local port value

	return localPort;
    
protected abstract bytegetTTL()
Retrieve the TTL (time-to-live) option.

exception
IOException if an I/O exception occurs while retrieving the time-to-live option
deprecated
use getTimeToLive instead.
return
a byte representing the TTL value
see
#setTTL(byte)

protected abstract intgetTimeToLive()
Retrieve the TTL (time-to-live) option.

exception
IOException if an I/O exception occurs while retrieving the time-to-live option
return
an int representing the time-to-live value
see
#setTimeToLive(int)

protected abstract voidjoin(java.net.InetAddress inetaddr)
Join the multicast group.

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

protected abstract voidjoinGroup(java.net.SocketAddress mcastaddr, java.net.NetworkInterface netIf)
Join the multicast group.

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

protected abstract voidleave(java.net.InetAddress inetaddr)
Leave the multicast group.

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

protected abstract voidleaveGroup(java.net.SocketAddress mcastaddr, java.net.NetworkInterface netIf)
Leave the multicast group.

param
mcastaddr address to leave.
param
netIf specified the local interface to leave the group at
throws
IOException if an I/O exception occurs while leaving the multicast group
since
1.4

protected abstract intpeek(java.net.InetAddress i)
Peek at the packet to see who it is from. Updates the specified InetAddress to the address which the packet came from.

param
i an InetAddress object
return
the port number which the packet came from.
exception
IOException if an I/O exception occurs
exception
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 intpeekData(java.net.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.

param
p the Packet Received.
return
the port number which the packet came from.
exception
IOException if an I/O exception occurs
exception
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.
since
1.4

protected abstract voidreceive(java.net.DatagramPacket p)
Receive the datagram packet.

param
p the Packet Received.
exception
IOException if an I/O exception occurs while receiving the datagram packet.
exception
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 voidsend(java.net.DatagramPacket p)
Sends a datagram packet. The packet contains the data and the destination address to send the packet to.

param
p the packet to be sent.
exception
IOException if an I/O exception occurs while sending the datagram packet.
exception
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 voidsetTTL(byte ttl)
Set the TTL (time-to-live) option.

param
ttl a byte specifying the TTL value
deprecated
use setTimeToLive instead.
exception
IOException if an I/O exception occurs while setting the time-to-live option.
see
#getTTL()

protected abstract voidsetTimeToLive(int ttl)
Set the TTL (time-to-live) option.

param
ttl an int specifying the time-to-live value
exception
IOException if an I/O exception occurs while setting the time-to-live option.
see
#getTimeToLive()