Example usage for org.apache.commons.net EchoUDPClient EchoUDPClient

List of usage examples for org.apache.commons.net EchoUDPClient EchoUDPClient

Introduction

In this page you can find the example usage for org.apache.commons.net EchoUDPClient EchoUDPClient.

Prototype

EchoUDPClient

Source Link

Usage

From source file:examples.echo.java

public static final void echoUDP(String host) throws IOException {
    int length, count;
    byte[] data;//  ww  w  . j  av a 2  s .co m
    String line;
    BufferedReader input;
    InetAddress address;
    EchoUDPClient client;

    input = new BufferedReader(new InputStreamReader(System.in));
    address = InetAddress.getByName(host);
    client = new EchoUDPClient();

    client.open();
    // If we don't receive an echo within 5 seconds, assume the packet is lost.
    client.setSoTimeout(5000);
    System.out.println("Ready to echo to " + host + ".");

    // Remember, there are no guarantees about the ordering of returned
    // UDP packets, so there is a chance the output may be jumbled.
    while ((line = input.readLine()) != null) {
        data = line.getBytes();
        client.send(data, address);
        count = 0;
        do {
            try {
                length = client.receive(data);
            }
            // Here we catch both SocketException and InterruptedIOException,
            // because even though the JDK 1.1 docs claim that
            // InterruptedIOException is thrown on a timeout, it seems
            // SocketException is also thrown.
            catch (SocketException e) {
                // We timed out and assume the packet is lost.
                System.err.println("SocketException: Timed out and dropped packet");
                break;
            } catch (InterruptedIOException e) {
                // We timed out and assume the packet is lost.
                System.err.println("InterruptedIOException: Timed out and dropped packet");
                break;
            }
            System.out.print(new String(data, 0, length));
            count += length;
        } while (count < data.length);

        System.out.println();
    }

    client.close();
}

From source file:ProtocolRunner.java

public static DatagramSocketClient getUDPClientInstance(int clientType) {
   switch(clientType) {
        case 0: { // is chargen
            if(charGenUDPClient == null) {
                charGenUDPClient = new CharGenUDPClient();
            }/*  w ww . j  av  a  2 s  . c  o m*/
            return charGenUDPClient;
        }
       case 1: { // is daytime
           if(daytimeUDPClient == null) {
               daytimeUDPClient = new DaytimeUDPClient();
           }
           return daytimeUDPClient;
       }
       case 2: { // is echo
           if(echoUDPClient == null) {
               echoUDPClient = new EchoUDPClient();
           }
           return echoUDPClient;
       }
       case 3: { // is tftp
           if(tftpClient == null) {
               tftpClient = new TFTPClient();
           }
           return tftpClient;
       }
       case 4: { // is time
           if(timeUDPClient == null) {
               timeUDPClient = new TimeUDPClient();
           }
           return timeUDPClient;
       }
    }
   return null;
}