TimeTCPClientpublic final class TimeTCPClient extends SocketClient The TimeTCPClient class is a TCP implementation of a client for the
Time protocol described in RFC 868. To use the class, merely
establish a connection with
{@link org.apache.commons.net.SocketClient#connect connect }
and call either {@link #getTime getTime() } or
{@link #getDate getDate() } to retrieve the time, then
call {@link org.apache.commons.net.SocketClient#disconnect disconnect }
to close the connection properly.
|
Fields Summary |
---|
public static final int | DEFAULT_PORTThe default time port. It is set to 37 according to RFC 868. | public static final long | SECONDS_1900_TO_1970The 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. |
Constructors Summary |
---|
public TimeTCPClient()The default TimeTCPClient constructor. It merely sets the default
port to DEFAULT_PORT .
setDefaultPort(DEFAULT_PORT);
|
Methods Summary |
---|
public java.util.Date | getDate()Retrieves the time from the server and returns a Java Date
containing the time converted to the local timezone.
The server will have closed the connection at this point, so you should
call
{@link org.apache.commons.net.SocketClient#disconnect disconnect }
after calling this method. To retrieve another time, you must
initiate another connection with
{@link org.apache.commons.net.SocketClient#connect connect }
before calling getDate() again.
return new Date((getTime() - SECONDS_1900_TO_1970)*1000L);
| public long | getTime()Retrieves the time from the server 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.
The server will have closed the connection at this point, so you should
call
{@link org.apache.commons.net.SocketClient#disconnect disconnect }
after calling this method. To retrieve another time, you must
initiate another connection with
{@link org.apache.commons.net.SocketClient#connect connect }
before calling getTime() again.
DataInputStream input;
input = new DataInputStream(_input_);
return (long)(input.readInt() & 0xffffffffL);
|
|