1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package examples;
19
20 import java.io.IOException;
21 import java.net.InetAddress;
22
23 import org.apache.commons.net.daytime.DaytimeTCPClient;
24 import org.apache.commons.net.daytime.DaytimeUDPClient;
25
26 /***
27 * This is an example program demonstrating how to use the DaytimeTCP
28 * and DaytimeUDP classes.
29 * This program connects to the default daytime service port of a
30 * specified server, retrieves the daytime, and prints it to standard output.
31 * The default is to use the TCP port. Use the -udp flag to use the UDP
32 * port.
33 * <p>
34 * Usage: daytime [-udp] <hostname>
35 * <p>
36 ***/
37 public final class daytime
38 {
39
40 public static final void daytimeTCP(String host) throws IOException
41 {
42 DaytimeTCPClient client = new DaytimeTCPClient();
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.getTime().trim());
48 client.disconnect();
49 }
50
51 public static final void daytimeUDP(String host) throws IOException
52 {
53 DaytimeUDPClient client = new DaytimeUDPClient();
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.getTime(
59 InetAddress.getByName(host)).trim());
60 client.close();
61 }
62
63
64 public static final void main(String[] args)
65 {
66
67 if (args.length == 1)
68 {
69 try
70 {
71 daytimeTCP(args[0]);
72 }
73 catch (IOException e)
74 {
75 e.printStackTrace();
76 System.exit(1);
77 }
78 }
79 else if (args.length == 2 && args[0].equals("-udp"))
80 {
81 try
82 {
83 daytimeUDP(args[1]);
84 }
85 catch (IOException e)
86 {
87 e.printStackTrace();
88 System.exit(1);
89 }
90 }
91 else
92 {
93 System.err.println("Usage: daytime [-udp] <hostname>");
94 System.exit(1);
95 }
96
97 }
98
99 }
100