Package org.apache.commons.net.time
Class TimeUDPClient
java.lang.Object
org.apache.commons.net.DatagramSocketClient
org.apache.commons.net.time.TimeUDPClient
- All Implemented Interfaces:
AutoCloseable
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
with
open
and call getTime
or getDate
to retrieve the time.
Then call close
to close the connection properly. Unlike
TimeTCPClient
, successive calls to getTime
or getDate
are permitted without
re-establishing a connection. That is because UDP is a connectionless protocol and the Time protocol is stateless.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The default time port.static final long
The 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
-
Method Summary
Modifier and TypeMethodDescriptiongetDate
(InetAddress host) Same asgetTime(host, DEFAULT_PORT);
getDate
(InetAddress host, int port) Retrieves the time from the server and returns a Java Date containing the time converted to the local time zone.long
getTime
(InetAddress host) Same asgetTime(host, DEFAULT_PORT);
long
getTime
(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
checkOpen, close, getCharset, getCharsetName, getDefaultTimeout, getLocalAddress, getLocalPort, getSoTimeout, getSoTimeoutDuration, isOpen, open, open, open, setCharset, setDatagramSocketFactory, setDefaultTimeout, setDefaultTimeout, setSoTimeout, setSoTimeout
-
Field Details
-
DEFAULT_PORT
The default time port. It is set to 37 according to RFC 868.- See Also:
-
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:
-
-
Constructor Details
-
TimeUDPClient
public TimeUDPClient()
-
-
Method Details
-
getDate
Same asgetTime(host, DEFAULT_PORT);
- Parameters:
host
- the time-server- Returns:
- the date
- Throws:
IOException
- on error
-
getDate
Retrieves the time from the server and returns a Java Date containing the time converted to the local time zone.- 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 time zone.
- Throws:
IOException
- If an error occurs while fetching the time.
-
getTime
Same asgetTime(host, DEFAULT_PORT);
- Parameters:
host
- the time-server- Returns:
- the time returned from the server
- Throws:
IOException
- on error
-
getTime
Retrieves 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:
IOException
- If an error occurs while retrieving the time.
-