<?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%2FNet_Command</id>
		<title>Java/Network Protocol/Net Command - История изменений</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%2FNet_Command"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Network_Protocol/Net_Command&amp;action=history"/>
		<updated>2026-04-21T18:51:13Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Network_Protocol/Net_Command&amp;diff=8897&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/Net_Command&amp;diff=8897&amp;oldid=prev"/>
				<updated>2010-06-01T07:21:04Z</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:21, 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/Net_Command&amp;diff=8896&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/Net_Command&amp;diff=8896&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;== Connects to an rexec server ==&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.bsd.RExecClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example program demonstrating how to use the RExecClient class.&lt;br /&gt;
 * This program connects to an rexec server and requests that the&lt;br /&gt;
 * given command be executed on the server.  It then reads input from stdin&lt;br /&gt;
 * (this will be line buffered on most systems, so don&amp;quot;t expect character&lt;br /&gt;
 * at a time interactivity), passing it to the remote process and writes&lt;br /&gt;
 * the process stdout and stderr to local stdout.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Example: java rexec myhost myusername mypassword &amp;quot;ps -aux&amp;quot;&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Usage: rexec &amp;lt;hostname&amp;gt; &amp;lt;username&amp;gt; &amp;lt;password&amp;gt; &amp;lt;command&amp;gt;&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 rexec&lt;br /&gt;
{&lt;br /&gt;
    public static final void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        String server, username, password, command;&lt;br /&gt;
        RExecClient client;&lt;br /&gt;
        if (args.length != 4)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&lt;br /&gt;
                &amp;quot;Usage: rexec &amp;lt;hostname&amp;gt; &amp;lt;username&amp;gt; &amp;lt;password&amp;gt; &amp;lt;command&amp;gt;&amp;quot;);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
            return ; // so compiler can do proper flow control analysis&lt;br /&gt;
        }&lt;br /&gt;
        client = new RExecClient();&lt;br /&gt;
        server = args[0];&lt;br /&gt;
        username = args[1];&lt;br /&gt;
        password = args[2];&lt;br /&gt;
        command = args[3];&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.connect(server);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Could not connect to server.&amp;quot;);&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.rexec(username, password, command);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                client.disconnect();&lt;br /&gt;
            }&lt;br /&gt;
            catch (IOException f)&lt;br /&gt;
            {}&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            System.err.println(&amp;quot;Could not execute command.&amp;quot;);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        IOUtil.readWrite(client.getInputStream(), client.getOutputStream(),&lt;br /&gt;
                         System.in, System.out);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connects to an rlogin daemon ==&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.bsd.RLoginClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example program demonstrating how to use the RLoginClient&lt;br /&gt;
 * class. This program connects to an rlogin daemon and begins to&lt;br /&gt;
 * interactively read input from stdin (this will be line buffered on most&lt;br /&gt;
 * systems, so don&amp;quot;t expect character at a time interactivity), passing it&lt;br /&gt;
 * to the remote login process and writing the remote stdout and stderr&lt;br /&gt;
 * to local stdout.  If you don&amp;quot;t have .rhosts or hosts.equiv files set up,&lt;br /&gt;
 * the rlogin daemon will prompt you for a password.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * On Unix systems you will not be able to use the rshell capability&lt;br /&gt;
 * unless the process runs as root since only root can bind port addresses&lt;br /&gt;
 * lower than 1024.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * JVM&amp;quot;s using green threads will likely have problems if the rlogin daemon&lt;br /&gt;
 * requests a password.  This program is merely a demonstration and is&lt;br /&gt;
 * not suitable for use as an application, especially given that it relies&lt;br /&gt;
 * on line buffered input from System.in.  The best way to run this example&lt;br /&gt;
 * is probably from a Win95 dos box into a Unix host.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Example: java rlogin myhost localusername remoteusername vt100&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Usage: rlogin &amp;lt;hostname&amp;gt; &amp;lt;localuser&amp;gt; &amp;lt;remoteuser&amp;gt; &amp;lt;terminal&amp;gt;&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 rlogin&lt;br /&gt;
{&lt;br /&gt;
    public static final void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        String server, localuser, remoteuser, terminal;&lt;br /&gt;
        RLoginClient client;&lt;br /&gt;
        if (args.length != 4)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&lt;br /&gt;
                &amp;quot;Usage: rlogin &amp;lt;hostname&amp;gt; &amp;lt;localuser&amp;gt; &amp;lt;remoteuser&amp;gt; &amp;lt;terminal&amp;gt;&amp;quot;);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
            return ; // so compiler can do proper flow control analysis&lt;br /&gt;
        }&lt;br /&gt;
        client = new RLoginClient();&lt;br /&gt;
        server = args[0];&lt;br /&gt;
        localuser = args[1];&lt;br /&gt;
        remoteuser = args[2];&lt;br /&gt;
        terminal = args[3];&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.connect(server);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Could not connect to server.&amp;quot;);&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.rlogin(localuser, remoteuser, terminal);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                client.disconnect();&lt;br /&gt;
            }&lt;br /&gt;
            catch (IOException f)&lt;br /&gt;
            {}&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            System.err.println(&amp;quot;rlogin authentication failed.&amp;quot;);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        IOUtil.readWrite(client.getInputStream(), client.getOutputStream(),&lt;br /&gt;
                         System.in, System.out);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connects to an rshell daemon ==&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;
 * 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.bsd.RCommandClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example program demonstrating how to use the RCommandClient&lt;br /&gt;
 * class. This program connects to an rshell daemon and requests that the&lt;br /&gt;
 * given command be executed on the server.  It then reads input from stdin&lt;br /&gt;
 * (this will be line buffered on most systems, so don&amp;quot;t expect character&lt;br /&gt;
 * at a time interactivity), passing it to the remote process and writes&lt;br /&gt;
 * the process stdout and stderr to local stdout.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * On Unix systems you will not be able to use the rshell capability&lt;br /&gt;
 * unless the process runs as root since only root can bind port addresses&lt;br /&gt;
 * lower than 1024.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Example: java rshell myhost localusername remoteusername &amp;quot;ps -aux&amp;quot;&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Usage: rshell &amp;lt;hostname&amp;gt; &amp;lt;localuser&amp;gt; &amp;lt;remoteuser&amp;gt; &amp;lt;command&amp;gt;&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 rshell&lt;br /&gt;
{&lt;br /&gt;
    public static final void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        String server, localuser, remoteuser, command;&lt;br /&gt;
        RCommandClient client;&lt;br /&gt;
        if (args.length != 4)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&lt;br /&gt;
                &amp;quot;Usage: rshell &amp;lt;hostname&amp;gt; &amp;lt;localuser&amp;gt; &amp;lt;remoteuser&amp;gt; &amp;lt;command&amp;gt;&amp;quot;);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
            return ; // so compiler can do proper flow control analysis&lt;br /&gt;
        }&lt;br /&gt;
        client = new RCommandClient();&lt;br /&gt;
        server = args[0];&lt;br /&gt;
        localuser = args[1];&lt;br /&gt;
        remoteuser = args[2];&lt;br /&gt;
        command = args[3];&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.connect(server);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Could not connect to server.&amp;quot;);&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.rcommand(localuser, remoteuser, command);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                client.disconnect();&lt;br /&gt;
            }&lt;br /&gt;
            catch (IOException f)&lt;br /&gt;
            {}&lt;br /&gt;
            e.printStackTrace();&lt;br /&gt;
            System.err.println(&amp;quot;Could not execute command.&amp;quot;);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        IOUtil.readWrite(client.getInputStream(), client.getOutputStream(),&lt;br /&gt;
                         System.in, System.out);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            client.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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Finger 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;
import java.io.BufferedReader;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
import java.io.PrintStream;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.util.StringTokenizer;&lt;br /&gt;
public class Finger {&lt;br /&gt;
  public static void main(String[] arguments) throws Exception {&lt;br /&gt;
    StringTokenizer split = new StringTokenizer(arguments[0], &amp;quot;@&amp;quot;);&lt;br /&gt;
    String user = split.nextToken();&lt;br /&gt;
    String host = split.nextToken();&lt;br /&gt;
    Socket digit = new Socket(host, 79);&lt;br /&gt;
    digit.setSoTimeout(20000);&lt;br /&gt;
    PrintStream out = new PrintStream(digit.getOutputStream());&lt;br /&gt;
    out.print(user + &amp;quot;\015\012&amp;quot;);&lt;br /&gt;
    BufferedReader in = new BufferedReader(new InputStreamReader(digit.getInputStream()));&lt;br /&gt;
    boolean eof = false;&lt;br /&gt;
    while (!eof) {&lt;br /&gt;
      String line = in.readLine();&lt;br /&gt;
      if (line != null)&lt;br /&gt;
        System.out.println(line);&lt;br /&gt;
      else&lt;br /&gt;
        eof = true;&lt;br /&gt;
    }&lt;br /&gt;
    digit.close();&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;
== Implement the finger command in Java ==&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 java.net.InetAddress;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
import org.apache.rumons.net.FingerClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example of how you would implement the finger command&lt;br /&gt;
 * in Java using NetComponents.  The Java version is much shorter.&lt;br /&gt;
 * But keep in mind that the Unix finger command reads all sorts of&lt;br /&gt;
 * local files to output local finger information.  This program only&lt;br /&gt;
 * queries the finger daemon.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * The -l flag is used to request long output from the server.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 ***/&lt;br /&gt;
public class finger&lt;br /&gt;
{&lt;br /&gt;
    public static final void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        boolean longOutput = false;&lt;br /&gt;
        int arg = 0, index;&lt;br /&gt;
        String handle, host;&lt;br /&gt;
        FingerClient finger;&lt;br /&gt;
        InetAddress address = null;&lt;br /&gt;
        // Get flags.  If an invalid flag is present, exit with usage message.&lt;br /&gt;
        while (arg &amp;lt; args.length &amp;amp;&amp;amp; args[arg].startsWith(&amp;quot;-&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
            if (args[arg].equals(&amp;quot;-l&amp;quot;))&lt;br /&gt;
                longOutput = true;&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                System.err.println(&amp;quot;usage: finger [-l] [[[handle][@&amp;lt;server&amp;gt;]] ...]&amp;quot;);&lt;br /&gt;
                System.exit(1);&lt;br /&gt;
            }&lt;br /&gt;
            ++arg;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        finger = new FingerClient();&lt;br /&gt;
        // We want to timeout if a response takes longer than 60 seconds&lt;br /&gt;
        finger.setDefaultTimeout(60000);&lt;br /&gt;
        if (arg &amp;gt;= args.length)&lt;br /&gt;
        {&lt;br /&gt;
            // Finger local host&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                address = InetAddress.getLocalHost();&lt;br /&gt;
            }&lt;br /&gt;
            catch (UnknownHostException e)&lt;br /&gt;
            {&lt;br /&gt;
                System.err.println(&amp;quot;Error unknown host: &amp;quot; + e.getMessage());&lt;br /&gt;
                System.exit(1);&lt;br /&gt;
            }&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                finger.connect(address);&lt;br /&gt;
                System.out.print(finger.query(longOutput));&lt;br /&gt;
                finger.disconnect();&lt;br /&gt;
            }&lt;br /&gt;
            catch (IOException e)&lt;br /&gt;
            {&lt;br /&gt;
                System.err.println(&amp;quot;Error I/O exception: &amp;quot; + e.getMessage());&lt;br /&gt;
                System.exit(1);&lt;br /&gt;
            }&lt;br /&gt;
            return ;&lt;br /&gt;
        }&lt;br /&gt;
        // Finger each argument&lt;br /&gt;
        while (arg &amp;lt; args.length)&lt;br /&gt;
        {&lt;br /&gt;
            index = args[arg].lastIndexOf(&amp;quot;@&amp;quot;);&lt;br /&gt;
            if (index == -1)&lt;br /&gt;
            {&lt;br /&gt;
                handle = args[arg];&lt;br /&gt;
                try&lt;br /&gt;
                {&lt;br /&gt;
                    address = InetAddress.getLocalHost();&lt;br /&gt;
                }&lt;br /&gt;
                catch (UnknownHostException e)&lt;br /&gt;
                {&lt;br /&gt;
                    System.err.println(&amp;quot;Error unknown host: &amp;quot; + e.getMessage());&lt;br /&gt;
                    System.exit(1);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                handle = args[arg].substring(0, index);&lt;br /&gt;
                host = args[arg].substring(index + 1);&lt;br /&gt;
                try&lt;br /&gt;
                {&lt;br /&gt;
                    address = InetAddress.getByName(host);&lt;br /&gt;
                }&lt;br /&gt;
                catch (UnknownHostException e)&lt;br /&gt;
                {&lt;br /&gt;
                    System.err.println(&amp;quot;Error unknown host: &amp;quot; + e.getMessage());&lt;br /&gt;
                    System.exit(1);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            System.out.println(&amp;quot;[&amp;quot; + address.getHostName() + &amp;quot;]&amp;quot;);&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                finger.connect(address);&lt;br /&gt;
                System.out.print(finger.query(longOutput, handle));&lt;br /&gt;
                finger.disconnect();&lt;br /&gt;
            }&lt;br /&gt;
            catch (IOException e)&lt;br /&gt;
            {&lt;br /&gt;
                System.err.println(&amp;quot;Error I/O exception: &amp;quot; + e.getMessage());&lt;br /&gt;
                System.exit(1);&lt;br /&gt;
            }&lt;br /&gt;
            ++arg;&lt;br /&gt;
            if (arg != args.length)&lt;br /&gt;
                System.out.print(&amp;quot;\n&amp;quot;);&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;
== Implement the Linux fwhois command in Java ==&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 java.net.InetAddress;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
import org.apache.rumons.net.WhoisClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example of how you would implement the Linux fwhois command&lt;br /&gt;
 * in Java using NetComponents.  The Java version is much shorter.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 ***/&lt;br /&gt;
public class fwhois&lt;br /&gt;
{&lt;br /&gt;
    public static final void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        int index;&lt;br /&gt;
        String handle, host;&lt;br /&gt;
        InetAddress address = null;&lt;br /&gt;
        WhoisClient whois;&lt;br /&gt;
        if (args.length != 1)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;usage: fwhois handle[@&amp;lt;server&amp;gt;]&amp;quot;);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        index = args[0].lastIndexOf(&amp;quot;@&amp;quot;);&lt;br /&gt;
        whois = new WhoisClient();&lt;br /&gt;
        // We want to timeout if a response takes longer than 60 seconds&lt;br /&gt;
        whois.setDefaultTimeout(60000);&lt;br /&gt;
        if (index == -1)&lt;br /&gt;
        {&lt;br /&gt;
            handle = args[0];&lt;br /&gt;
            host = WhoisClient.DEFAULT_HOST;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            handle = args[0].substring(0, index);&lt;br /&gt;
            host = args[0].substring(index + 1);&lt;br /&gt;
        }&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            address = InetAddress.getByName(host);&lt;br /&gt;
        }&lt;br /&gt;
        catch (UnknownHostException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Error unknown host: &amp;quot; + e.getMessage());&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println(&amp;quot;[&amp;quot; + address.getHostName() + &amp;quot;]&amp;quot;);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            whois.connect(address);&lt;br /&gt;
            System.out.print(whois.query(handle));&lt;br /&gt;
            whois.disconnect();&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Error I/O exception: &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;
       &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;
== Use the TimeTCPClient and TimeUDPClient: simple Unix rdate ==&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 java.net.InetAddress;&lt;br /&gt;
import org.apache.rumons.net.TimeTCPClient;&lt;br /&gt;
import org.apache.rumons.net.TimeUDPClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example program demonstrating how to use the TimeTCPClient&lt;br /&gt;
 * and TimeUDPClient classes.  It&amp;quot;s very similar to the simple Unix rdate&lt;br /&gt;
 * command.  This program connects to the default time service port of a&lt;br /&gt;
 * specified server, retrieves the time, and prints it to standard output.&lt;br /&gt;
 * The default is to use the TCP port.  Use the -udp flag to use the UDP&lt;br /&gt;
 * port.  You can test this program by using the NIST time server at&lt;br /&gt;
 * 132.163.135.130 (warning: the IP address may change).&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Usage: rdate [-udp] &amp;lt;hostname&amp;gt;&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * @author Daniel F. Savarese&lt;br /&gt;
 ***/&lt;br /&gt;
public class rdate&lt;br /&gt;
{&lt;br /&gt;
    public static final void timeTCP(String host) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        TimeTCPClient client = new TimeTCPClient();&lt;br /&gt;
        // We want to timeout if a response takes longer than 60 seconds&lt;br /&gt;
        client.setDefaultTimeout(60000);&lt;br /&gt;
        client.connect(host);&lt;br /&gt;
        System.out.println(client.getDate().toString());&lt;br /&gt;
        client.disconnect();&lt;br /&gt;
    }&lt;br /&gt;
    public static final void timeUDP(String host) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        TimeUDPClient client = new TimeUDPClient();&lt;br /&gt;
        // We want to timeout if a response takes longer than 60 seconds&lt;br /&gt;
        client.setDefaultTimeout(60000);&lt;br /&gt;
        client.open();&lt;br /&gt;
        System.out.println(client.getDate(InetAddress.getByName(host)).toString());&lt;br /&gt;
        client.close();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public static final void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        if (args.length == 1)&lt;br /&gt;
        {&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                timeTCP(args[0]);&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;
        }&lt;br /&gt;
        else if (args.length == 2 &amp;amp;&amp;amp; args[0].equals(&amp;quot;-udp&amp;quot;))&lt;br /&gt;
        {&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                timeUDP(args[1]);&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;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Usage: rdate [-udp] &amp;lt;hostname&amp;gt;&amp;quot;);&lt;br /&gt;
            System.exit(1);&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;/div&gt;</summary>
			</entry>

	</feed>