UdpEchoClient.java Source code

Java tutorial

Introduction

Here is the source code for UdpEchoClient.java

Source

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Calendar;

public class UdpEchoClient {
    static final String testString = "Greeks bearing gifts";

    public static void main(String[] args) {
        InetAddress address;
        try {
            address = InetAddress.getByName(args[0]);
        } catch (UnknownHostException host) {
            System.out.println(host);
            return;
        }
        DatagramPacket pack = new DatagramPacket(testString.getBytes(), testString.length(), address, 7);
        DatagramPacket incoming = new DatagramPacket(new byte[256], 256);
        DatagramSocket sock = null;
        try {
            Calendar start, end;
            sock = new DatagramSocket();
            start = Calendar.getInstance();
            sock.send(pack);
            sock.setSoTimeout(5000);
            sock.receive(incoming);
            end = Calendar.getInstance();
            String reply = new String(incoming.getData());
            reply = reply.substring(0, testString.length());
            if (reply.equals(testString)) {
                System.out.println("Success");
                System.out.println("Time = " + (end.getTime().getTime() - start.getTime().getTime()) + "mS");
            } else
                System.out.println("Reply data did not match");
        } catch (SocketException socke) {
            System.out.println(socke);
        } catch (IOException ioe) {
            System.out.println(ioe);
        } finally {
            sock.close();
        }
    }
}