Client estimates the speed of the network connection to the server
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();
}
}
}
Related examples in the same category