1 package org.apache.commons.net;
2
3 /* ====================================================================
4 * The Apache Software License, Version 1.1
5 *
6 * Copyright (c) 2001 The Apache Software Foundation. All rights
7 * reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 *
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 *
16 * 2. Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in
18 * the documentation and/or other materials provided with the
19 * distribution.
20 *
21 * 3. The end-user documentation included with the redistribution,
22 * if any, must include the following acknowledgment:
23 * "This product includes software developed by the
24 * Apache Software Foundation (http://www.apache.org/)."
25 * Alternately, this acknowledgment may appear in the software itself,
26 * if and wherever such third-party acknowledgments normally appear.
27 *
28 * 4. The names "Apache" and "Apache Software Foundation" and
29 * "Apache Commons" must not be used to endorse or promote products
30 * derived from this software without prior written permission. For
31 * written permission, please contact apache@apache.org.
32 *
33 * 5. Products derived from this software may not be called "Apache",
34 * nor may "Apache" appear in their name, without
35 * prior written permission of the Apache Software Foundation.
36 *
37 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
41 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48 * SUCH DAMAGE.
49 * ====================================================================
50 *
51 * This software consists of voluntary contributions made by many
52 * individuals on behalf of the Apache Software Foundation. For more
53 * information on the Apache Software Foundation, please see
54 * <http://www.apache.org/>.
55 */
56
57 import java.io.InputStream;
58
59 /****
60 * The CharGenTCPClient class is a TCP implementation of a client for the
61 * character generator protocol described in RFC 864. It can also be
62 * used for Systat (RFC 866), Quote of the Day (RFC 865), and netstat
63 * (port 15). All of these protocols involve connecting to the appropriate
64 * port, and reading data from an input stream. The chargen protocol
65 * actually sends data until the receiving end closes the connection. All
66 * of the others send only a fixed amount of data and then close the
67 * connection.
68 * <p>
69 * To use the CharGenTCPClient class, just establish a
70 * connection with
71 * <a href="org.apache.commons.net.SocketClient.html#connect"> connect </a>
72 * and call <a href="#getInputStream"> getInputStream() </a> to access
73 * the data. Don't close the input stream when you're done with it. Rather,
74 * call <a href="org.apache.commons.net.SocketClient.html#disconnect"> disconnect </a>
75 * to clean up properly.
76 * <p>
77 * <p>
78 * @author Daniel F. Savarese
79 * @see CharGenUDPClient
80 ***/
81
82 public final class CharGenTCPClient extends SocketClient
83 {
84 /**** The systat port value of 11 according to RFC 866. ***/
85 public static final int SYSTAT_PORT = 11;
86 /**** The netstat port value of 19. ***/
87 public static final int NETSTAT_PORT = 15;
88 /**** The quote of the day port value of 17 according to RFC 865. ***/
89 public static final int QUOTE_OF_DAY_PORT = 17;
90 /**** The character generator port value of 19 according to RFC 864. ***/
91 public static final int CHARGEN_PORT = 19;
92 /**** The default chargen port. It is set to 19 according to RFC 864. ***/
93 public static final int DEFAULT_PORT = 19;
94
95 /****
96 * The default constructor for CharGenTCPClient. It merely sets the
97 * default port to <code> DEFAULT_PORT </code>.
98 ***/
99 public CharGenTCPClient ()
100 {
101 setDefaultPort(DEFAULT_PORT);
102 }
103
104 /****
105 * Returns an InputStream from which the server generated data can be
106 * read. You should NOT close the InputStream when you're finished
107 * reading from it. Rather, you should call
108 * <a href="org.apache.commons.net.SocketClient.html#disconnect"> disconnect </a>
109 * to clean up properly.
110 * <p>
111 * @return An InputStream from which the server generated data can be read.
112 ***/
113 public InputStream getInputStream()
114 {
115 return _input_;
116 }
117 }
118
119
120
121
This page was automatically generated by Maven