Save This Page
Home » struts-1.3.9-src » examples » [javadoc | source]
    1   /*
    2    * Copyright 2001-2005 The Apache Software Foundation
    3    *
    4    * Licensed under the Apache License, Version 2.0 (the "License");
    5    * you may not use this file except in compliance with the License.
    6    * You may obtain a copy of the License at
    7    *
    8    *     http://www.apache.org/licenses/LICENSE-2.0
    9    *
   10    * Unless required by applicable law or agreed to in writing, software
   11    * distributed under the License is distributed on an "AS IS" BASIS,
   12    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   13    * See the License for the specific language governing permissions and
   14    * limitations under the License.
   15    */
   16   package examples;
   17   
   18   import java.io.IOException;
   19   import java.net.InetAddress;
   20   import org.apache.commons.net.TimeTCPClient;
   21   import org.apache.commons.net.TimeUDPClient;
   22   
   23   /***
   24    * This is an example program demonstrating how to use the TimeTCPClient
   25    * and TimeUDPClient classes.  It's very similar to the simple Unix rdate
   26    * command.  This program connects to the default time service port of a
   27    * specified server, retrieves the time, and prints it to standard output.
   28    * The default is to use the TCP port.  Use the -udp flag to use the UDP
   29    * port.  You can test this program by using the NIST time server at
   30    * 132.163.135.130 (warning: the IP address may change).
   31    * <p>
   32    * Usage: rdate [-udp] <hostname>
   33    * <p>
   34    * <p>
   35    * @author Daniel F. Savarese
   36    ***/
   37   public final class rdate
   38   {
   39   
   40       public static final void timeTCP(String host) throws IOException
   41       {
   42           TimeTCPClient client = new TimeTCPClient();
   43   
   44           // We want to timeout if a response takes longer than 60 seconds
   45           client.setDefaultTimeout(60000);
   46           client.connect(host);
   47           System.out.println(client.getDate().toString());
   48           client.disconnect();
   49       }
   50   
   51       public static final void timeUDP(String host) throws IOException
   52       {
   53           TimeUDPClient client = new TimeUDPClient();
   54   
   55           // We want to timeout if a response takes longer than 60 seconds
   56           client.setDefaultTimeout(60000);
   57           client.open();
   58           System.out.println(client.getDate(InetAddress.getByName(host)).toString());
   59           client.close();
   60       }
   61   
   62   
   63       public static final void main(String[] args)
   64       {
   65   
   66           if (args.length == 1)
   67           {
   68               try
   69               {
   70                   timeTCP(args[0]);
   71               }
   72               catch (IOException e)
   73               {
   74                   e.printStackTrace();
   75                   System.exit(1);
   76               }
   77           }
   78           else if (args.length == 2 && args[0].equals("-udp"))
   79           {
   80               try
   81               {
   82                   timeUDP(args[1]);
   83               }
   84               catch (IOException e)
   85               {
   86                   e.printStackTrace();
   87                   System.exit(1);
   88               }
   89           }
   90           else
   91           {
   92               System.err.println("Usage: rdate [-udp] <hostname>");
   93               System.exit(1);
   94           }
   95   
   96       }
   97   
   98   }
   99   

Save This Page
Home » struts-1.3.9-src » examples » [javadoc | source]