Class 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 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.

    Author:
    Daniel F. Savarese
    See Also:
    TimeTCPClient
    • 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
    • Constructor Detail

      • TimeUDPClient

        public TimeUDPClient()
    • Method Detail

      • getTime

        public long getTime​(java.net.InetAddress host,
                            int port)
                     throws java.io.IOException
        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:
        java.io.IOException - If an error occurs while retrieving the time.
      • getTime

        public long getTime​(java.net.InetAddress host)
                     throws java.io.IOException
        Same as getTime(host, DEFAULT_PORT);
        Throws:
        java.io.IOException
      • getDate

        public java.util.Date getDate​(java.net.InetAddress host,
                                      int port)
                               throws java.io.IOException
        Retrieves 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.IOException
        Same as getTime(host, DEFAULT_PORT);
        Throws:
        java.io.IOException