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

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Network_Protocol/TCP&amp;diff=8865&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Network_Protocol/TCP&amp;diff=8865&amp;oldid=prev"/>
				<updated>2010-06-01T07:20:01Z</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://jexp.ru/index.php?title=Java/Network_Protocol/TCP&amp;diff=8864&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Network_Protocol/TCP&amp;diff=8864&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;== A tcp client, a tcp server, and a Serializable payload object which is sent from the server to the 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;
//The 3 classes are a a tcp client, tcp server, and a Serializable payload object which is sent from the server to the client.&lt;br /&gt;
//The 3 classes are meant to work together.&lt;br /&gt;
//--George&lt;br /&gt;
&lt;br /&gt;
//TcpClient.java -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.io.ObjectInputStream;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
/**&lt;br /&gt;
 * TcpClient.java&lt;br /&gt;
 *&lt;br /&gt;
 * This class works in conjunction with TcpServer.java and TcpPayload.java&lt;br /&gt;
  *&lt;br /&gt;
 * This client test class connects to server class TcpServer, and in response,&lt;br /&gt;
* it receives a serialized an instance of TcpPayload.&lt;br /&gt;
 */&lt;br /&gt;
public class TcpClient&lt;br /&gt;
{&lt;br /&gt;
    public final static String SERVER_HOSTNAME = &amp;quot;gsoler.arc.nasa.gov&amp;quot;;&lt;br /&gt;
    public final static int COMM_PORT = 5050;  // socket port for client comms&lt;br /&gt;
    private Socket socket;&lt;br /&gt;
    private TcpPayload payload;&lt;br /&gt;
    /** Default constructor. */&lt;br /&gt;
    public TcpClient()&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            this.socket = new Socket(SERVER_HOSTNAME, COMM_PORT);&lt;br /&gt;
            InputStream iStream = this.socket.getInputStream();&lt;br /&gt;
            ObjectInputStream oiStream = new ObjectInputStream(iStream);&lt;br /&gt;
            this.payload = (TcpPayload) oiStream.readObject();&lt;br /&gt;
        }&lt;br /&gt;
        catch (UnknownHostException uhe)&lt;br /&gt;
        {&lt;br /&gt;
            System.out.println(&amp;quot;Don&amp;quot;t know about host: &amp;quot; + SERVER_HOSTNAME);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException ioe)&lt;br /&gt;
        {&lt;br /&gt;
            System.out.println(&amp;quot;Couldn&amp;quot;t get I/O for the connection to: &amp;quot; +&lt;br /&gt;
                SERVER_HOSTNAME + &amp;quot;:&amp;quot; + COMM_PORT);&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        catch(ClassNotFoundException cne)&lt;br /&gt;
        {&lt;br /&gt;
            System.out.println(&amp;quot;Wanted class TcpPayload, but got class &amp;quot; + cne);&lt;br /&gt;
        }&lt;br /&gt;
        System.out.println(&amp;quot;Received payload:&amp;quot;);&lt;br /&gt;
        System.out.println(this.payload.toString());&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Run this class as an application.&lt;br /&gt;
     */&lt;br /&gt;
    public static void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        TcpClient tcpclient = new TcpClient();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
TcpServer.java -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.ObjectOutputStream;&lt;br /&gt;
import java.io.OutputStream;&lt;br /&gt;
import java.net.InetSocketAddress;&lt;br /&gt;
import java.net.ServerSocket;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.net.SocketException;&lt;br /&gt;
/**&lt;br /&gt;
 * This class works in conjunction with TcpClient.java and TcpPayload.java&lt;br /&gt;
 *&lt;br /&gt;
 * This server test class opens a socket on localhost and waits for a client&lt;br /&gt;
 * to connect. When a client connects, this server serializes an instance of&lt;br /&gt;
 * TcpPayload and sends it to the client.&lt;br /&gt;
 */&lt;br /&gt;
public class TcpServer&lt;br /&gt;
{&lt;br /&gt;
    public final static int COMM_PORT = 5050;  // socket port for client comms&lt;br /&gt;
    private ServerSocket serverSocket;&lt;br /&gt;
    private InetSocketAddress inboundAddr;&lt;br /&gt;
    private TcpPayload payload;&lt;br /&gt;
    /** Default constructor. */&lt;br /&gt;
    public TcpServer()&lt;br /&gt;
    {&lt;br /&gt;
        this.payload = new TcpPayload();&lt;br /&gt;
        initServerSocket();&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            while (true)&lt;br /&gt;
            {&lt;br /&gt;
                // listen for and accept a client connection to serverSocket&lt;br /&gt;
                Socket sock = this.serverSocket.accept();&lt;br /&gt;
                OutputStream oStream = sock.getOutputStream();&lt;br /&gt;
                ObjectOutputStream ooStream = new ObjectOutputStream(oStream);&lt;br /&gt;
                ooStream.writeObject(this.payload);  // send serilized payload&lt;br /&gt;
                ooStream.close();&lt;br /&gt;
                Thread.sleep(1000);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        catch (SecurityException se)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Unable to get host address due to security.&amp;quot;);&lt;br /&gt;
            System.err.println(se.toString());&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException ioe)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Unable to read data from an open socket.&amp;quot;);&lt;br /&gt;
            System.err.println(ioe.toString());&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        catch (InterruptedException ie) { }  // Thread sleep interrupted&lt;br /&gt;
        finally&lt;br /&gt;
        {&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                this.serverSocket.close();&lt;br /&gt;
            }&lt;br /&gt;
            catch (IOException ioe)&lt;br /&gt;
            {&lt;br /&gt;
                System.err.println(&amp;quot;Unable to close an open socket.&amp;quot;);&lt;br /&gt;
                System.err.println(ioe.toString());&lt;br /&gt;
                System.exit(1);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /** Initialize a server socket for communicating with the client. */&lt;br /&gt;
    private void initServerSocket()&lt;br /&gt;
    {&lt;br /&gt;
        this.inboundAddr = new InetSocketAddress(COMM_PORT);&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            this.serverSocket = new java.net.ServerSocket(COMM_PORT);&lt;br /&gt;
            assert this.serverSocket.isBound();&lt;br /&gt;
            if (this.serverSocket.isBound())&lt;br /&gt;
            {&lt;br /&gt;
                System.out.println(&amp;quot;SERVER inbound data port &amp;quot; +&lt;br /&gt;
                    this.serverSocket.getLocalPort() +&lt;br /&gt;
                    &amp;quot; is ready and waiting for client to connect...&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        catch (SocketException se)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Unable to create socket.&amp;quot;);&lt;br /&gt;
            System.err.println(se.toString());&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
        catch (IOException ioe)&lt;br /&gt;
        {&lt;br /&gt;
            System.err.println(&amp;quot;Unable to read data from an open socket.&amp;quot;);&lt;br /&gt;
            System.err.println(ioe.toString());&lt;br /&gt;
            System.exit(1);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Run this class as an application.&lt;br /&gt;
     */&lt;br /&gt;
    public static void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        TcpServer tcpServer = new TcpServer();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
TcpPayload.java -------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
/**&lt;br /&gt;
 * This class works in conjunction with TcpClient.java and TcpServer.java&lt;br /&gt;
 *&lt;br /&gt;
 * This class contains test data representing a &amp;quot;payload&amp;quot; that is sent from&lt;br /&gt;
 * TcpServer to TcpClient. An object of this class is meant to be serialized by&lt;br /&gt;
 * the server before being sent to the client. An object of this class is meant&lt;br /&gt;
 * to be deserialized by the client after being received.&lt;br /&gt;
 */&lt;br /&gt;
public class TcpPayload implements Serializable&lt;br /&gt;
{&lt;br /&gt;
    // serial version UID was generated with serialver command&lt;br /&gt;
    static final long serialVersionUID = -50077493051991107L;&lt;br /&gt;
    private int int1;&lt;br /&gt;
    private transient int int2;  // transient members are not serialized&lt;br /&gt;
    private float float1;&lt;br /&gt;
    private double double1;&lt;br /&gt;
    private short short1;&lt;br /&gt;
    private String str1;&lt;br /&gt;
    private long long1;&lt;br /&gt;
    private char char1;&lt;br /&gt;
    /** Default constructor. */&lt;br /&gt;
    public TcpPayload()&lt;br /&gt;
    {&lt;br /&gt;
        this.int1 = 123;&lt;br /&gt;
        this.int2 = 456;&lt;br /&gt;
        this.float1 = -90.05f;&lt;br /&gt;
        this.double1 = 55.055;&lt;br /&gt;
        this.short1 = 59;&lt;br /&gt;
        this.str1 = &amp;quot;I am a String payload.&amp;quot;;&lt;br /&gt;
        this.long1 = -23895901L;&lt;br /&gt;
        this.char1 = &amp;quot;x&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    /** Get a String representation of this class. */&lt;br /&gt;
    public String toString()&lt;br /&gt;
    {&lt;br /&gt;
        StringBuilder strB = new StringBuilder();&lt;br /&gt;
        strB.append(&amp;quot;int1=&amp;quot; + this.int1);&lt;br /&gt;
        strB.append(&amp;quot; int2=&amp;quot; + this.int2);&lt;br /&gt;
        strB.append(&amp;quot; float1=&amp;quot; + this.float1);&lt;br /&gt;
        strB.append(&amp;quot; double1=&amp;quot; + this.double1);&lt;br /&gt;
        strB.append(&amp;quot; short1=&amp;quot; + this.short1);&lt;br /&gt;
        strB.append(&amp;quot; str1=&amp;quot; + this.str1);&lt;br /&gt;
        strB.append(&amp;quot; long1=&amp;quot; + this.long1);&lt;br /&gt;
        strB.append(&amp;quot; char1=&amp;quot; + this.char1);&lt;br /&gt;
        return strB.toString();&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;
== Connects to the default chargen service port ==&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.BufferedReader;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
import java.io.InterruptedIOException;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.SocketException;&lt;br /&gt;
import org.apache.rumons.net.CharGenTCPClient;&lt;br /&gt;
import org.apache.rumons.net.CharGenUDPClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example program demonstrating how to use the CharGenTCPClient&lt;br /&gt;
 * and CharGenUDPClient classes.  This program connects to the default&lt;br /&gt;
 * chargen service port of a specified server, then reads 100 lines from&lt;br /&gt;
 * of generated output, writing each line to standard output, and then&lt;br /&gt;
 * closes the connection.  The UDP invocation of the program sends 50&lt;br /&gt;
 * datagrams, printing the reply to each.&lt;br /&gt;
 * The default is to use the TCP port.  Use the -udp flag to use the UDP&lt;br /&gt;
 * port.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Usage: chargen [-udp] &amp;lt;hostname&amp;gt;&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 ***/&lt;br /&gt;
public class chargen&lt;br /&gt;
{&lt;br /&gt;
    public static final void chargenTCP(String host) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        int lines = 100;&lt;br /&gt;
        String line;&lt;br /&gt;
        CharGenTCPClient client = new CharGenTCPClient();&lt;br /&gt;
        BufferedReader chargenInput;&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;
        chargenInput =&lt;br /&gt;
            new BufferedReader(new InputStreamReader(client.getInputStream()));&lt;br /&gt;
        // We assume the chargen service outputs lines, but it really doesn&amp;quot;t&lt;br /&gt;
        // have to, so this code might actually not work if no newlines are&lt;br /&gt;
        // present.&lt;br /&gt;
        while (lines-- &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            if ((line = chargenInput.readLine()) == null)&lt;br /&gt;
                break;&lt;br /&gt;
            System.out.println(line);&lt;br /&gt;
        }&lt;br /&gt;
        client.disconnect();&lt;br /&gt;
    }&lt;br /&gt;
    public static final void chargenUDP(String host) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        int packets = 50;&lt;br /&gt;
        byte[] data;&lt;br /&gt;
        InetAddress address;&lt;br /&gt;
        CharGenUDPClient client;&lt;br /&gt;
        address = InetAddress.getByName(host);&lt;br /&gt;
        client = new CharGenUDPClient();&lt;br /&gt;
        client.open();&lt;br /&gt;
        // If we don&amp;quot;t receive a return packet within 5 seconds, assume&lt;br /&gt;
        // the packet is lost.&lt;br /&gt;
        client.setSoTimeout(5000);&lt;br /&gt;
        while (packets-- &amp;gt; 0)&lt;br /&gt;
        {&lt;br /&gt;
            client.send(address);&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                data = client.receive();&lt;br /&gt;
            }&lt;br /&gt;
            // Here we catch both SocketException and InterruptedIOException,&lt;br /&gt;
            // because even though the JDK 1.1 docs claim that&lt;br /&gt;
            // InterruptedIOException is thrown on a timeout, it seems&lt;br /&gt;
            // SocketException is also thrown.&lt;br /&gt;
            catch (SocketException e)&lt;br /&gt;
            {&lt;br /&gt;
                // We timed out and assume the packet is lost.&lt;br /&gt;
                System.err.println(&amp;quot;SocketException: Timed out and dropped packet&amp;quot;);&lt;br /&gt;
                continue;&lt;br /&gt;
            }&lt;br /&gt;
            catch (InterruptedIOException e)&lt;br /&gt;
            {&lt;br /&gt;
                // We timed out and assume the packet is lost.&lt;br /&gt;
                System.err.println(&lt;br /&gt;
                    &amp;quot;InterruptedIOException: Timed out and dropped packet&amp;quot;);&lt;br /&gt;
                continue;&lt;br /&gt;
            }&lt;br /&gt;
            System.out.write(data);&lt;br /&gt;
            System.out.flush();&lt;br /&gt;
        }&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;
                chargenTCP(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;
                chargenUDP(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: chargen [-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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connects to the default echo service port ==&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.BufferedReader;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStreamReader;&lt;br /&gt;
import java.io.InterruptedIOException;&lt;br /&gt;
import java.io.OutputStreamWriter;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.SocketException;&lt;br /&gt;
import org.apache.rumons.net.EchoTCPClient;&lt;br /&gt;
import org.apache.rumons.net.EchoUDPClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example program demonstrating how to use the EchoTCPClient&lt;br /&gt;
 * and EchoUDPClient classes.  This program connects to the default echo&lt;br /&gt;
 * service port of a specified server, then reads lines from standard&lt;br /&gt;
 * input, writing them to the echo server, and then printing the echo.&lt;br /&gt;
 * The default is to use the TCP port.  Use the -udp flag to use the UDP&lt;br /&gt;
 * port.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Usage: echo [-udp] &amp;lt;hostname&amp;gt;&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 ***/&lt;br /&gt;
public class echo&lt;br /&gt;
{&lt;br /&gt;
    public static final void echoTCP(String host) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        EchoTCPClient client = new EchoTCPClient();&lt;br /&gt;
        BufferedReader input, echoInput;&lt;br /&gt;
        PrintWriter echoOutput;&lt;br /&gt;
        String line;&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(&amp;quot;Connected to &amp;quot; + host + &amp;quot;.&amp;quot;);&lt;br /&gt;
        input = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;
        echoOutput =&lt;br /&gt;
            new PrintWriter(new OutputStreamWriter(client.getOutputStream()), true);&lt;br /&gt;
        echoInput =&lt;br /&gt;
            new BufferedReader(new InputStreamReader(client.getInputStream()));&lt;br /&gt;
        while ((line = input.readLine()) != null)&lt;br /&gt;
        {&lt;br /&gt;
            echoOutput.println(line);&lt;br /&gt;
            System.out.println(echoInput.readLine());&lt;br /&gt;
        }&lt;br /&gt;
        client.disconnect();&lt;br /&gt;
    }&lt;br /&gt;
    public static final void echoUDP(String host) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        int length, count;&lt;br /&gt;
        byte[] data;&lt;br /&gt;
        String line;&lt;br /&gt;
        BufferedReader input;&lt;br /&gt;
        InetAddress address;&lt;br /&gt;
        EchoUDPClient client;&lt;br /&gt;
        input = new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;
        address = InetAddress.getByName(host);&lt;br /&gt;
        client = new EchoUDPClient();&lt;br /&gt;
        client.open();&lt;br /&gt;
        // If we don&amp;quot;t receive an echo within 5 seconds, assume the packet is lost.&lt;br /&gt;
        client.setSoTimeout(5000);&lt;br /&gt;
        System.out.println(&amp;quot;Ready to echo to &amp;quot; + host + &amp;quot;.&amp;quot;);&lt;br /&gt;
        // Remember, there are no guarantees about the ordering of returned&lt;br /&gt;
        // UDP packets, so there is a chance the output may be jumbled.&lt;br /&gt;
        while ((line = input.readLine()) != null)&lt;br /&gt;
        {&lt;br /&gt;
            data = line.getBytes();&lt;br /&gt;
            client.send(data, address);&lt;br /&gt;
            count = 0;&lt;br /&gt;
            do&lt;br /&gt;
            {&lt;br /&gt;
                try&lt;br /&gt;
                {&lt;br /&gt;
                    length = client.receive(data);&lt;br /&gt;
                }&lt;br /&gt;
                // Here we catch both SocketException and InterruptedIOException,&lt;br /&gt;
                // because even though the JDK 1.1 docs claim that&lt;br /&gt;
                // InterruptedIOException is thrown on a timeout, it seems&lt;br /&gt;
                // SocketException is also thrown.&lt;br /&gt;
                catch (SocketException e)&lt;br /&gt;
                {&lt;br /&gt;
                    // We timed out and assume the packet is lost.&lt;br /&gt;
                    System.err.println(&lt;br /&gt;
                        &amp;quot;SocketException: Timed out and dropped packet&amp;quot;);&lt;br /&gt;
                    break;&lt;br /&gt;
                }&lt;br /&gt;
                catch (InterruptedIOException e)&lt;br /&gt;
                {&lt;br /&gt;
                    // We timed out and assume the packet is lost.&lt;br /&gt;
                    System.err.println(&lt;br /&gt;
                        &amp;quot;InterruptedIOException: Timed out and dropped packet&amp;quot;);&lt;br /&gt;
                    break;&lt;br /&gt;
                }&lt;br /&gt;
                System.out.print(new String(data, 0, length));&lt;br /&gt;
                count += length;&lt;br /&gt;
            }&lt;br /&gt;
            while (count &amp;lt; data.length);&lt;br /&gt;
            System.out.println();&lt;br /&gt;
        }&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;
                echoTCP(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;
                echoUDP(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: echo [-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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Finger Socket ==&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;
import java.io.DataInputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.PrintStream;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
public class finger {&lt;br /&gt;
  public final static int port = 79;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    String hostname;&lt;br /&gt;
    Socket theSocket;&lt;br /&gt;
    DataInputStream theFingerStream;&lt;br /&gt;
    PrintStream ps;&lt;br /&gt;
    try {&lt;br /&gt;
      hostname = args[0];&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e) {&lt;br /&gt;
      hostname = &amp;quot;localhost&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    try {&lt;br /&gt;
      theSocket = new Socket(hostname, port, true);&lt;br /&gt;
      ps = new PrintStream(theSocket.getOutputStream());&lt;br /&gt;
      for (int i = 1; i &amp;lt; args.length; i++) ps.print(args[i] + &amp;quot; &amp;quot;);&lt;br /&gt;
      ps.print(&amp;quot;\r\n&amp;quot;);&lt;br /&gt;
      theFingerStream = new DataInputStream(theSocket.getInputStream());&lt;br /&gt;
      String s;&lt;br /&gt;
      while ((s = theFingerStream.readLine()) != null) {&lt;br /&gt;
        System.out.println(s);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    catch (IOException e) {&lt;br /&gt;
      System.err.println(e);&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;
== Get Socket Information ==&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.IOException;&lt;br /&gt;
import java.net.Socket;&lt;br /&gt;
import java.net.SocketException;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
public class getSocketInfo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    for (int i = 0; i &amp;lt; args.length; i++) {&lt;br /&gt;
      try {&lt;br /&gt;
        Socket theSocket = new Socket(args[i], 80);&lt;br /&gt;
        System.out.println(&amp;quot;Connected to &amp;quot; + theSocket.getInetAddress()&lt;br /&gt;
            + &amp;quot; on port &amp;quot; + theSocket.getPort() + &amp;quot; from port &amp;quot;&lt;br /&gt;
            + theSocket.getLocalPort() + &amp;quot; of &amp;quot; + theSocket.getLocalAddress());&lt;br /&gt;
      } // end try&lt;br /&gt;
      catch (UnknownHostException e) {&lt;br /&gt;
        System.err.println(&amp;quot;I can&amp;quot;t find &amp;quot; + args[i]);&lt;br /&gt;
      } catch (SocketException e) {&lt;br /&gt;
        System.err.println(&amp;quot;Could not connect to &amp;quot; + args[i]);&lt;br /&gt;
      } catch (IOException e) {&lt;br /&gt;
        System.err.println(e);&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;
== Multicast Sender ==&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;
import java.io.IOException;&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.MulticastSocket;&lt;br /&gt;
import java.net.SocketException;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
public class MulticastSender {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    InetAddress ia = null;&lt;br /&gt;
    int port = 0;&lt;br /&gt;
    String characters = &amp;quot;Here&amp;quot;s some multicast data\n&amp;quot;;&lt;br /&gt;
    byte[] data = new byte[characters.length()];&lt;br /&gt;
    // read the address from the command line&lt;br /&gt;
    try {&lt;br /&gt;
      try {&lt;br /&gt;
        ia = InetAddress.getByName(args[0]);&lt;br /&gt;
      } catch (UnknownHostException e) {&lt;br /&gt;
        //ia = InetAddressFactory.newInetAddress(args[0]);&lt;br /&gt;
      }&lt;br /&gt;
      port = Integer.parseInt(args[1]);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
      System.err.println(&amp;quot;Usage: java MulticastSender MulticastAddress port&amp;quot;);&lt;br /&gt;
      System.exit(1);&lt;br /&gt;
    }&lt;br /&gt;
    characters.getBytes(0, characters.length(), data, 0);&lt;br /&gt;
    DatagramPacket dp = new DatagramPacket(data, data.length, ia, port);&lt;br /&gt;
    try {&lt;br /&gt;
      MulticastSocket ms = new MulticastSocket();&lt;br /&gt;
      ms.joinGroup(ia);&lt;br /&gt;
      for (int i = 1; i &amp;lt; 10; i++) {&lt;br /&gt;
        ms.send(dp, (byte) 1);&lt;br /&gt;
      }&lt;br /&gt;
      ms.leaveGroup(ia);&lt;br /&gt;
      ms.close();&lt;br /&gt;
    } catch (SocketException se) {&lt;br /&gt;
      System.err.println(se);&lt;br /&gt;
    } catch (IOException ie) {&lt;br /&gt;
      System.err.println(ie);&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;
== Multicast Sniffer ==&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;
import java.io.IOException;&lt;br /&gt;
import java.net.DatagramPacket;&lt;br /&gt;
import java.net.InetAddress;&lt;br /&gt;
import java.net.MulticastSocket;&lt;br /&gt;
import java.net.SocketException;&lt;br /&gt;
import java.net.UnknownHostException;&lt;br /&gt;
public class MulticastSniffer {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
  &lt;br /&gt;
    InetAddress ia = null;&lt;br /&gt;
    byte[] buffer = new byte[65509];&lt;br /&gt;
    DatagramPacket dp = new DatagramPacket(buffer, buffer.length);&lt;br /&gt;
    int port = 0;&lt;br /&gt;
  &lt;br /&gt;
    try {&lt;br /&gt;
      try {&lt;br /&gt;
        ia = InetAddress.getByName(args[0]);&lt;br /&gt;
      }&lt;br /&gt;
      catch (UnknownHostException e)  {&lt;br /&gt;
        //&lt;br /&gt;
      }&lt;br /&gt;
      port = Integer.parseInt(args[1]);&lt;br /&gt;
    }  // end try&lt;br /&gt;
    catch (Exception e) {&lt;br /&gt;
      System.err.println(e);&lt;br /&gt;
      System.err.println(&amp;quot;Usage: java MulticastSniffer MulticastAddress port&amp;quot;);&lt;br /&gt;
      System.exit(1);&lt;br /&gt;
    }&lt;br /&gt;
  &lt;br /&gt;
    try {&lt;br /&gt;
      MulticastSocket ms = new MulticastSocket(port);&lt;br /&gt;
      ms.joinGroup(ia);&lt;br /&gt;
      while (true) {&lt;br /&gt;
        ms.receive(dp);&lt;br /&gt;
        String s = new String(dp.getData(), 0, 0, dp.getLength());&lt;br /&gt;
        System.out.println(s);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    catch (SocketException se) {&lt;br /&gt;
      System.err.println(se);&lt;br /&gt;
    }&lt;br /&gt;
    catch (IOException ie) {&lt;br /&gt;
      System.err.println(ie);&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;
== Use the Daytime TCP and Daytime UDP classes ==&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 java.net.InetAddress;&lt;br /&gt;
import org.apache.rumons.net.DaytimeTCPClient;&lt;br /&gt;
import org.apache.rumons.net.DaytimeUDPClient;&lt;br /&gt;
/***&lt;br /&gt;
 * This is an example program demonstrating how to use the DaytimeTCP&lt;br /&gt;
 * and DaytimeUDP classes.&lt;br /&gt;
 * This program connects to the default daytime service port of a&lt;br /&gt;
 * specified server, retrieves the daytime, 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.&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 * Usage: daytime [-udp] &amp;lt;hostname&amp;gt;&lt;br /&gt;
 * &amp;lt;p&amp;gt;&lt;br /&gt;
 ***/&lt;br /&gt;
public class daytime&lt;br /&gt;
{&lt;br /&gt;
    public static final void daytimeTCP(String host) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        DaytimeTCPClient client = new DaytimeTCPClient();&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.getTime().trim());&lt;br /&gt;
        client.disconnect();&lt;br /&gt;
    }&lt;br /&gt;
    public static final void daytimeUDP(String host) throws IOException&lt;br /&gt;
    {&lt;br /&gt;
        DaytimeUDPClient client = new DaytimeUDPClient();&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.getTime(&lt;br /&gt;
                                          InetAddress.getByName(host)).trim());&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;
                daytimeTCP(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;
                daytimeUDP(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: daytime [-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>