Mega Code Archive

 
Categories / Java / Network Protocol
 

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();     }   } }