<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FNetwork_Protocol%2FTelnet</id>
		<title>Java/Network Protocol/Telnet - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FNetwork_Protocol%2FTelnet"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Network_Protocol/Telnet&amp;action=history"/>
		<updated>2026-04-21T21:58:10Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Network_Protocol/Telnet&amp;diff=8883&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Network_Protocol/Telnet&amp;diff=8883&amp;oldid=prev"/>
				<updated>2010-06-01T07:20:46Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:20, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Network_Protocol/Telnet&amp;diff=8882&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Network_Protocol/Telnet&amp;diff=8882&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Example of use of Telnet Client ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright 2003-2004 The Apache Software Foundation&lt;br /&gt;
 *&lt;br /&gt;
 * Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
package examples;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import org.apache.rumons.net.telnet.TelnetClient;&lt;br /&gt;
import org.apache.rumons.net.telnet.TelnetNotificationHandler;&lt;br /&gt;
import org.apache.rumons.net.telnet.SimpleOptionHandler;&lt;br /&gt;
import org.apache.rumons.net.telnet.EchoOptionHandler;&lt;br /&gt;
import org.apache.rumons.net.telnet.TerminalTypeOptionHandler;&lt;br /&gt;
import org.apache.rumons.net.telnet.SuppressGAOptionHandler;&lt;br /&gt;
import org.apache.rumons.net.telnet.InvalidTelnetOptionException;&lt;br /&gt;
import java.util.StringTokenizer;&lt;br /&gt;
&lt;br /&gt;
/***&lt;br /&gt;
 * This is a simple example of use of TelnetClient.&lt;br /&gt;
 * An external option handler (SimpleTelnetOptionHandler) is used.&lt;br /&gt;
 * Initial configuration requested by TelnetClient will be:&lt;br /&gt;
 * WILL ECHO, WILL SUPPRESS-GA, DO SUPPRESS-GA.&lt;br /&gt;
 * VT100 terminal type will be subnegotiated.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Also, use of the sendAYT(), getLocalOptionState(), getRemoteOptionState()&lt;br /&gt;
 * is demonstrated.&lt;br /&gt;
 * When connected, type AYT to send an AYT command to the server and see&lt;br /&gt;
 * the result.&lt;br /&gt;
 * Type OPT to see a report of the state of the first 25 options.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * @author Bruno D&amp;quot;Avanzo&lt;br /&gt;
 ***/&lt;br /&gt;
public class TelnetClientExample implements Runnable, TelnetNotificationHandler&lt;br /&gt;
{&lt;br /&gt;
    static TelnetClient tc = null;&lt;br /&gt;
    /***&lt;br /&gt;
     * Main for the TelnetClientExample.&lt;br /&gt;
     ***/&lt;br /&gt;
    public static void main(String[] args) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        FileOutputStream fout = null;&lt;br /&gt;
        if(args.length &amp;lt; 1)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Usage: TelnetClientExample1 &amp;lt;remote-ip&amp;gt; [&amp;lt;remote-port&amp;gt;]&amp;quot;);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        String remoteip = args[0];&lt;br /&gt;
        int remoteport;&lt;br /&gt;
        if (args.length &amp;gt; 1)&lt;br /&gt;
        {&lt;br /&gt;
            remoteport = (new Integer(args[1])).intValue();&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            remoteport = 23;&lt;br /&gt;
        }&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            fout = new FileOutputStream (&amp;quot;spy.log&amp;quot;, true);&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&lt;br /&gt;
                &amp;quot;Exception while opening the spy file: &amp;quot;&lt;br /&gt;
                + e.getMessage());&lt;br /&gt;
        }&lt;br /&gt;
        tc = new TelnetClient();&lt;br /&gt;
        TerminalTypeOptionHandler ttopt = new TerminalTypeOptionHandler(&amp;quot;VT100&amp;quot;, false, false, true, false);&lt;br /&gt;
        EchoOptionHandler echoopt = new EchoOptionHandler(true, false, true, false);&lt;br /&gt;
        SuppressGAOptionHandler gaopt = new SuppressGAOptionHandler(true, true, true, true);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            tc.addOptionHandler(ttopt);&lt;br /&gt;
            tc.addOptionHandler(echoopt);&lt;br /&gt;
            tc.addOptionHandler(gaopt);&lt;br /&gt;
        }&lt;br /&gt;
        catch (InvalidTelnetOptionException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Error registering option handlers: &amp;quot; + e.getMessage());&lt;br /&gt;
        }&lt;br /&gt;
        while (true)&lt;br /&gt;
        {&lt;br /&gt;
            boolean end_loop = false;&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                tc.connect(remoteip, remoteport);&lt;br /&gt;
&lt;br /&gt;
                Thread reader = new Thread (new TelnetClientExample());&lt;br /&gt;
                tc.registerNotifHandler(new TelnetClientExample());&lt;br /&gt;
                System.out.println(&amp;quot;TelnetClientExample&amp;quot;);&lt;br /&gt;
                System.out.println(&amp;quot;Type AYT to send an AYT telnet command&amp;quot;);&lt;br /&gt;
                System.out.println(&amp;quot;Type OPT to print a report of status of options (0-24)&amp;quot;);&lt;br /&gt;
                System.out.println(&amp;quot;Type REGISTER to register a new SimpleOptionHandler&amp;quot;);&lt;br /&gt;
                System.out.println(&amp;quot;Type UNREGISTER to unregister an OptionHandler&amp;quot;);&lt;br /&gt;
                System.out.println(&amp;quot;Type SPY to register the spy (connect to port 3333 to spy)&amp;quot;);&lt;br /&gt;
                System.out.println(&amp;quot;Type UNSPY to stop spying the connection&amp;quot;);&lt;br /&gt;
                reader.start();&lt;br /&gt;
                OutputStream outstr = tc.getOutputStream();&lt;br /&gt;
                byte[] buff = new byte[1024];&lt;br /&gt;
                int ret_read = 0;&lt;br /&gt;
                do&lt;br /&gt;
                {&lt;br /&gt;
                    try&lt;br /&gt;
                    {&lt;br /&gt;
                        ret_read = System.in.read(buff);&lt;br /&gt;
                        if(ret_read &amp;gt; 0)&lt;br /&gt;
                        {&lt;br /&gt;
                            if((new String(buff, 0, ret_read)).startsWith(&amp;quot;AYT&amp;quot;))&lt;br /&gt;
                            {&lt;br /&gt;
                                try&lt;br /&gt;
                                {&lt;br /&gt;
                                    System.out.println(&amp;quot;Sending AYT&amp;quot;);&lt;br /&gt;
                                    System.out.println(&amp;quot;AYT response:&amp;quot; + tc.sendAYT(5000));&lt;br /&gt;
                                }&lt;br /&gt;
                                catch (Exception e)&lt;br /&gt;
                                {&lt;br /&gt;
                                    System.err.println(&amp;quot;Exception waiting AYT response: &amp;quot; + e.getMessage());&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                            else if((new String(buff, 0, ret_read)).startsWith(&amp;quot;OPT&amp;quot;))&lt;br /&gt;
                            {&lt;br /&gt;
                                 System.out.println(&amp;quot;Status of options:&amp;quot;);&lt;br /&gt;
                                 for(int ii=0; ii&amp;lt;25; ii++)&lt;br /&gt;
                                    System.out.println(&amp;quot;Local Option &amp;quot; + ii + &amp;quot;:&amp;quot; + tc.getLocalOptionState(ii) + &amp;quot; Remote Option &amp;quot; + ii + &amp;quot;:&amp;quot; + tc.getRemoteOptionState(ii));&lt;br /&gt;
                            }&lt;br /&gt;
                            else if((new String(buff, 0, ret_read)).startsWith(&amp;quot;REGISTER&amp;quot;))&lt;br /&gt;
                            {&lt;br /&gt;
                                StringTokenizer st = new StringTokenizer(new String(buff));&lt;br /&gt;
                                try&lt;br /&gt;
                                {&lt;br /&gt;
                                    st.nextToken();&lt;br /&gt;
                                    int opcode = (new Integer(st.nextToken())).intValue();&lt;br /&gt;
                                    boolean initlocal = (new Boolean(st.nextToken())).booleanValue();&lt;br /&gt;
                                    boolean initremote = (new Boolean(st.nextToken())).booleanValue();&lt;br /&gt;
                                    boolean acceptlocal = (new Boolean(st.nextToken())).booleanValue();&lt;br /&gt;
                                    boolean acceptremote = (new Boolean(st.nextToken())).booleanValue();&lt;br /&gt;
                                    SimpleOptionHandler opthand = new SimpleOptionHandler(opcode, initlocal, initremote,&lt;br /&gt;
                                                                    acceptlocal, acceptremote);&lt;br /&gt;
                                    tc.addOptionHandler(opthand);&lt;br /&gt;
                                }&lt;br /&gt;
                                catch (Exception e)&lt;br /&gt;
                                {&lt;br /&gt;
                                    if(e instanceof InvalidTelnetOptionException)&lt;br /&gt;
                                    {&lt;br /&gt;
                                        System.err.println(&amp;quot;Error registering option: &amp;quot; + e.getMessage());&lt;br /&gt;
                                    }&lt;br /&gt;
                                    else&lt;br /&gt;
                                    {&lt;br /&gt;
                                        System.err.println(&amp;quot;Invalid REGISTER command.&amp;quot;);&lt;br /&gt;
                                        System.err.println(&amp;quot;Use REGISTER optcode initlocal initremote acceptlocal acceptremote&amp;quot;);&lt;br /&gt;
                                        System.err.println(&amp;quot;(optcode is an integer.)&amp;quot;);&lt;br /&gt;
                                        System.err.println(&amp;quot;(initlocal, initremote, acceptlocal, acceptremote are boolean)&amp;quot;);&lt;br /&gt;
                                    }&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                            else if((new String(buff, 0, ret_read)).startsWith(&amp;quot;UNREGISTER&amp;quot;))&lt;br /&gt;
                            {&lt;br /&gt;
                                StringTokenizer st = new StringTokenizer(new String(buff));&lt;br /&gt;
                                try&lt;br /&gt;
                                {&lt;br /&gt;
                                    st.nextToken();&lt;br /&gt;
                                    int opcode = (new Integer(st.nextToken())).intValue();&lt;br /&gt;
                                    tc.deleteOptionHandler(opcode);&lt;br /&gt;
                                }&lt;br /&gt;
                                catch (Exception e)&lt;br /&gt;
                                {&lt;br /&gt;
                                    if(e instanceof InvalidTelnetOptionException)&lt;br /&gt;
                                    {&lt;br /&gt;
                                        System.err.println(&amp;quot;Error unregistering option: &amp;quot; + e.getMessage());&lt;br /&gt;
                                    }&lt;br /&gt;
                                    else&lt;br /&gt;
                                    {&lt;br /&gt;
                                        System.err.println(&amp;quot;Invalid UNREGISTER command.&amp;quot;);&lt;br /&gt;
                                        System.err.println(&amp;quot;Use UNREGISTER optcode&amp;quot;);&lt;br /&gt;
                                        System.err.println(&amp;quot;(optcode is an integer)&amp;quot;);&lt;br /&gt;
                                    }&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                            else if((new String(buff, 0, ret_read)).startsWith(&amp;quot;SPY&amp;quot;))&lt;br /&gt;
                            {&lt;br /&gt;
                                try&lt;br /&gt;
                                {&lt;br /&gt;
                                    tc.registerSpyStream(fout);&lt;br /&gt;
                                }&lt;br /&gt;
                                catch (Exception e)&lt;br /&gt;
                                {&lt;br /&gt;
                                    System.err.println(&amp;quot;Error registering the spy&amp;quot;);&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                            else if((new String(buff, 0, ret_read)).startsWith(&amp;quot;UNSPY&amp;quot;))&lt;br /&gt;
                            {&lt;br /&gt;
                                tc.stopSpyStream();&lt;br /&gt;
                            }&lt;br /&gt;
                            else&lt;br /&gt;
                            {&lt;br /&gt;
                                try&lt;br /&gt;
                                {&lt;br /&gt;
                                        outstr.write(buff, 0 , ret_read);&lt;br /&gt;
                                        outstr.flush();&lt;br /&gt;
                                }&lt;br /&gt;
                                catch (Exception e)&lt;br /&gt;
                                {&lt;br /&gt;
                                        end_loop = true;&lt;br /&gt;
                                }&lt;br /&gt;
                            }&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    catch (Exception e)&lt;br /&gt;
                    {&lt;br /&gt;
                        System.err.println(&amp;quot;Exception while reading keyboard:&amp;quot; + e.getMessage());&lt;br /&gt;
                        end_loop = true;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
                while((ret_read &amp;gt; 0) &amp;amp;&amp;amp; (end_loop == false));&lt;br /&gt;
                try&lt;br /&gt;
                {&lt;br /&gt;
                    tc.disconnect();&lt;br /&gt;
                }&lt;br /&gt;
                catch (Exception e)&lt;br /&gt;
                {&lt;br /&gt;
                          System.err.println(&amp;quot;Exception while connecting:&amp;quot; + e.getMessage());&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception e)&lt;br /&gt;
            {&lt;br /&gt;
                    System.err.println(&amp;quot;Exception while connecting:&amp;quot; + e.getMessage());&lt;br /&gt;
                    System.exit(1);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /***&lt;br /&gt;
     * Callback method called when TelnetClient receives an option&lt;br /&gt;
     * negotiation command.&lt;br /&gt;
     * &amp;lt;p&amp;gt;&lt;br /&gt;
     * @param negotiation_code - type of negotiation command received&lt;br /&gt;
     * (RECEIVED_DO, RECEIVED_DONT, RECEIVED_WILL, RECEIVED_WONT)&lt;br /&gt;
     * &amp;lt;p&amp;gt;&lt;br /&gt;
     * @param option_code - code of the option negotiated&lt;br /&gt;
     * &amp;lt;p&amp;gt;&lt;br /&gt;
     ***/&lt;br /&gt;
    public void receivedNegotiation(int negotiation_code, int option_code)&lt;br /&gt;
    {&lt;br /&gt;
        String command = null;&lt;br /&gt;
        if(negotiation_code == TelnetNotificationHandler.RECEIVED_DO)&lt;br /&gt;
        {&lt;br /&gt;
            command = &amp;quot;DO&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        else if(negotiation_code == TelnetNotificationHandler.RECEIVED_DONT)&lt;br /&gt;
        {&lt;br /&gt;
            command = &amp;quot;DONT&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        else if(negotiation_code == TelnetNotificationHandler.RECEIVED_WILL)&lt;br /&gt;
        {&lt;br /&gt;
            command = &amp;quot;WILL&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        else if(negotiation_code == TelnetNotificationHandler.RECEIVED_WONT)&lt;br /&gt;
        {&lt;br /&gt;
            command = &amp;quot;WONT&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println(&amp;quot;Received &amp;quot; + command + &amp;quot; for option code &amp;quot; + option_code);&lt;br /&gt;
   }&lt;br /&gt;
    /***&lt;br /&gt;
     * Reader thread.&lt;br /&gt;
     * Reads lines from the TelnetClient and echoes them&lt;br /&gt;
     * on the screen.&lt;br /&gt;
     ***/&lt;br /&gt;
    public void run()&lt;br /&gt;
    {&lt;br /&gt;
        InputStream instr = tc.getInputStream();&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            byte[] buff = new byte[1024];&lt;br /&gt;
            int ret_read = 0;&lt;br /&gt;
            do&lt;br /&gt;
            {&lt;br /&gt;
                ret_read = instr.read(buff);&lt;br /&gt;
                if(ret_read &amp;gt; 0)&lt;br /&gt;
                {&lt;br /&gt;
                    System.out.print(new String(buff, 0, ret_read));&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            while (ret_read &amp;gt;= 0);&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Exception while reading socket:&amp;quot; + e.getMessage());&lt;br /&gt;
        }&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            tc.disconnect();&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Exception while closing telnet:&amp;quot; + e.getMessage());&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TelnetClient: connects to the weather server at the University of Michigan ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright 2001-2005 The Apache Software Foundation&lt;br /&gt;
 *&lt;br /&gt;
 * Licensed under the Apache License, Version 2.0 (the &amp;quot;License&amp;quot;);&lt;br /&gt;
 * you may not use this file except in compliance with the License.&lt;br /&gt;
 * You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *     http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 * Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 * See the License for the specific language governing permissions and&lt;br /&gt;
 * limitations under the License.&lt;br /&gt;
 */&lt;br /&gt;
package examples;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import org.apache.rumons.net.telnet.TelnetClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example of a trivial use of the TelnetClient class.&lt;br /&gt;
 * It connects to the weather server at the University of Michigan,&lt;br /&gt;
 * um-weather.sprl.umich.edu port 3000, and allows the user to interact&lt;br /&gt;
 * with the server via standard input.  You could use this example to&lt;br /&gt;
 * connect to any telnet server, but it is obviously not general purpose&lt;br /&gt;
 * because it reads from standard input a line at a time, making it&lt;br /&gt;
 * inconvenient for use with a remote interactive shell.  The TelnetClient&lt;br /&gt;
 * class used by itself is mostly intended for automating access to telnet&lt;br /&gt;
 * resources rather than interactive use.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 ***/&lt;br /&gt;
// This class requires the IOUtil support class!&lt;br /&gt;
public class weatherTelnet&lt;br /&gt;
{&lt;br /&gt;
    public final static void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        TelnetClient telnet;&lt;br /&gt;
        telnet = new TelnetClient();&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            telnet.connect(&amp;quot;rainmaker.wunderground.ru&amp;quot;, 3000);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        IOUtil.readWrite(telnet.getInputStream(), telnet.getOutputStream(),&lt;br /&gt;
                         System.in, System.out);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            telnet.disconnect();&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>