JavaTM 2 Platform
Std. Ed. v1.3.1

java.net
Class DatagramSocketImpl

java.lang.Object
  |
  +--java.net.DatagramSocketImpl
All Implemented Interfaces:
SocketOptions

public abstract class DatagramSocketImpl
extends Object
implements SocketOptions

Abstract datagram and multicast socket implementation base class.

Since:
JDK1.1

Field Summary
protected  FileDescriptor fd
          The file descriptor object.
protected  int localPort
          The local port number.
 
Fields inherited from interface java.net.SocketOptions
IP_MULTICAST_IF, SO_BINDADDR, SO_KEEPALIVE, SO_LINGER, SO_RCVBUF, SO_REUSEADDR, SO_SNDBUF, SO_TIMEOUT, TCP_NODELAY
 
Constructor Summary
DatagramSocketImpl()
           
 
Method Summary
protected abstract  void bind(int lport, InetAddress laddr)
          Binds a datagram socket to a local port and address.
protected abstract  void close()
          Close the socket.
protected abstract  void create()
          Creates a datagram socket.
protected  FileDescriptor getFileDescriptor()
          Gets the datagram socket file descriptor.
protected  int getLocalPort()
          Gets the local port.
protected abstract  int getTimeToLive()
          Retrieve the TTL (time-to-live) option.
protected abstract  byte getTTL()
          Deprecated. use getTimeToLive instead.
protected abstract  void join(InetAddress inetaddr)
          Join the multicast group.
protected abstract  void leave(InetAddress inetaddr)
          Leave the multicast group.
protected abstract  int peek(InetAddress i)
          Peek at the packet to see who it is from.
protected abstract  void receive(DatagramPacket p)
          Receive the datagram packet.
protected abstract  void send(DatagramPacket p)
          Sends a datagram packet.
protected abstract  void setTimeToLive(int ttl)
          Set the TTL (time-to-live) option.
protected abstract  void setTTL(byte ttl)
          Deprecated. use setTimeToLive instead.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.net.SocketOptions
getOption, setOption
 

Field Detail

localPort

protected int localPort
The local port number.

fd

protected FileDescriptor fd
The file descriptor object.
Constructor Detail

DatagramSocketImpl

public DatagramSocketImpl()
Method Detail

create

protected abstract void create()
                        throws SocketException
Creates a datagram socket.
Throws:
SocketException - if there is an error in the underlying protocol, such as a TCP error.

bind

protected abstract void bind(int lport,
                             InetAddress laddr)
                      throws SocketException
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.

send

protected abstract void send(DatagramPacket p)
                      throws IOException
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.

peek

protected abstract int peek(InetAddress i)
                     throws IOException
Peek at the packet to see who it is from.
Parameters:
i - an InetAddress object
Returns:
the address which the packet came from.
Throws:
IOException - if an I/O exception occurs

receive

protected abstract void receive(DatagramPacket p)
                         throws IOException
Receive the datagram packet.
Parameters:
p - the Packet Received.
Throws:
IOException - if an I/O exception occurs while receiving the datagram packet.

setTTL

protected abstract void setTTL(byte ttl)
                        throws IOException
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:
getTTL()

getTTL

protected abstract byte getTTL()
                        throws IOException
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:
setTTL(byte)

setTimeToLive

protected abstract void setTimeToLive(int ttl)
                               throws IOException
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:
getTimeToLive()

getTimeToLive

protected abstract int getTimeToLive()
                              throws IOException
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
See Also:
setTimeToLive(int)

join

protected abstract void join(InetAddress inetaddr)
                      throws IOException
Join the multicast group.
Parameters:
inetaddr - multicast address to join.
Throws:
IOException - if an I/O exception occurs while joining the multicast group.

leave

protected abstract void leave(InetAddress inetaddr)
                       throws IOException
Leave the multicast group.
Parameters:
inetaddr - multicast address to leave.
Throws:
IOException - if an I/O exception occurs while leaving the multicast group.

close

protected abstract void close()
Close the socket.

getLocalPort

protected int getLocalPort()
Gets the local port.
Returns:
an int representing the local port value

getFileDescriptor

protected FileDescriptor getFileDescriptor()
Gets the datagram socket file descriptor.
Returns:
a FileDescriptor object representing the datagram socket file descriptor

JavaTM 2 Platform
Std. Ed. v1.3.1

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Oracle and/or its affiliates, in the US and other countries.
Copyright © 1995, 2010 Oracle and/or its affiliates. All rights reserved.