Package org.apache.commons.net.time
Class TimeUDPClient
- java.lang.Object
-
- org.apache.commons.net.DatagramSocketClient
-
- org.apache.commons.net.time.TimeUDPClient
-
public final class TimeUDPClient extends DatagramSocketClient
The TimeUDPClient class is a UDP implementation of a client for the Time protocol described in RFC 868. To use the class, merely open a local datagram socket withopenand callgetTimeorgetDateto retrieve the time. Then callcloseto close the connection properly. UnlikeTimeTCPClient, successive calls togetTimeorgetDateare permitted without re-establishing a connection. That is because UDP is a connectionless protocol and the Time protocol is stateless.- See Also:
TimeTCPClient
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_PORTThe default time port.static longSECONDS_1900_TO_1970The number of seconds between 00:00 1 January 1900 and 00:00 1 January 1970.-
Fields inherited from class org.apache.commons.net.DatagramSocketClient
_isOpen_, _socket_, _socketFactory_, _timeout_
-
-
Constructor Summary
Constructors Constructor Description TimeUDPClient()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.DategetDate(java.net.InetAddress host)Same asgetTime(host, DEFAULT_PORT);java.util.DategetDate(java.net.InetAddress host, int port)Retrieves the time from the server and returns a Java Date containing the time converted to the local timezone.longgetTime(java.net.InetAddress host)Same asgetTime(host, DEFAULT_PORT);longgetTime(java.net.InetAddress host, int port)Retrieves the time from the specified server and port and returns it.-
Methods inherited from class org.apache.commons.net.DatagramSocketClient
close, getCharset, getCharsetName, getDefaultTimeout, getLocalAddress, getLocalPort, getSoTimeout, isOpen, open, open, open, setCharset, setDatagramSocketFactory, setDefaultTimeout, setSoTimeout
-
-
-
-
Field Detail
-
DEFAULT_PORT
public static final int DEFAULT_PORT
The default time port. It is set to 37 according to RFC 868.- See Also:
- Constant Field Values
-
SECONDS_1900_TO_1970
public static final long SECONDS_1900_TO_1970
The number of seconds between 00:00 1 January 1900 and 00:00 1 January 1970. This value can be useful for converting time values to other formats.- See Also:
- Constant Field Values
-
-
Method Detail
-
getTime
public long getTime(java.net.InetAddress host, int port) throws java.io.IOExceptionRetrieves the time from the specified server and port and returns it. The time is the number of seconds since 00:00 (midnight) 1 January 1900 GMT, as specified by RFC 868. This method reads the raw 32-bit big-endian unsigned integer from the server, converts it to a Java long, and returns the value.- Parameters:
host- The address of the server.port- The port of the service.- Returns:
- The time value retrieved from the server.
- Throws:
java.io.IOException- If an error occurs while retrieving the time.
-
getTime
public long getTime(java.net.InetAddress host) throws java.io.IOExceptionSame asgetTime(host, DEFAULT_PORT);- Parameters:
host- the time server- Returns:
- the time returned from the server
- Throws:
java.io.IOException- on error
-
getDate
public java.util.Date getDate(java.net.InetAddress host, int port) throws java.io.IOExceptionRetrieves the time from the server and returns a Java Date containing the time converted to the local timezone.- Parameters:
host- The address of the server.port- The port of the service.- Returns:
- A Date value containing the time retrieved from the server converted to the local timezone.
- Throws:
java.io.IOException- If an error occurs while fetching the time.
-
getDate
public java.util.Date getDate(java.net.InetAddress host) throws java.io.IOExceptionSame asgetTime(host, DEFAULT_PORT);- Parameters:
host- the time server- Returns:
- the date
- Throws:
java.io.IOException- on error
-
-