Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java, Web
Expertise: Intermediate
Oct 19, 1998

Network Programming, UDP Echo Client

When network testing, it is useful to have a client program connects to a UDP server and gets an echo of a text string that you send to the server:
 
import java.net.*;
import java.io.*;
import java.util.*;

class SocketUdpEcho01{
	public static void main(String[] args){
		String server = "www.austin.cc.tx.us";
		int port = 7; //echo port
		String msg = "This is a UDP echo test";

		try{    
			//Convert the message to a byte array
			byte[] udpMsg = msg.getBytes();
			InetAddress addr = InetAddress.getByName(server);
			//Create a packet
			DatagramPacket packet = 
				new DatagramPacket(udpMsg,udpMsg.length,addr,port);
			//Get a datagram socket to send the message
			DatagramSocket datagramSocket = new DatagramSocket();
			//Send the message
			datagramSocket.send(packet);
      
			//Overwrite the msg in the packet to confirm that
			//an echo is really received
			byte[] dataArray = packet.getData();
			for(int cnt = 0; cnt < packet.getLength(); cnt++)
				dataArray[cnt] = 'x';
			//Display overwritten version
			System.out.println(new String(packet.getData()));
			//Receive the echo into the same packet.
			datagramSocket.receive(packet);
			//Display the echo
			System.out.println(new String(packet.getData()));
			datagramSocket.close();
		}//end try
		catch(UnknownHostException e){
			System.out.println(e);
			System.out.println(
					"Connection Failure. Are you online?");
		}//end catch UnknownHostException
    
		catch(SocketException e){System.out.println(e);}
		catch(IOException e){System.out.println(e);}
    
	}//end main
}//end class SocketUdpEcho01
After editing your favorite Web server name into the string named server, the program should display:
 
xxxxxxxxxxxxxxxxxxxxxxx
If another message is displayed, you should try another server. This code was tested using JDK 1.1.6 under Win95.
Richard G.
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date