Client code
import java.net.*;
import java.io.*;
/**
* This example illustrates the basic method calls for connectionless
* datagram socket.
* @author M. L. Liu
*/
public class Example1Sender {
// An application which sends a message using connectionless
// datagram socket.
// Three command line arguments are expected, in order:
// <domain name or IP address of the receiver>
// <port number of the receiver's socket>
// <message, a string, to send>
public static void main(String[] args) {
if (args.length != 3)
System.out.println
("This program requires three command line arguments");
else {
try {
InetAddress receiverHost = InetAddress.getByName(args[0]);
int receiverPort = Integer.parseInt(args[1]);
String message = args[2];
// instantiates a datagram socket for sending the data
DatagramSocket mySocket = new DatagramSocket();
byte[ ] buffer = message.getBytes( );
DatagramPacket datagram =
new DatagramPacket(buffer, buffer.length,
receiverHost, receiverPort);
mySocket.send(datagram);
mySocket.close( );
} // end try
catch (Exception ex) {
ex.printStackTrace( );
}
} // end else
} // end main
} // end class
Server code
import java.net.*;
import java.io.*;
/**
* This example illustrates the basic method calls for connectionless
* datagram socket.
* @author M. L. Liu
*/
public class Example1Receiver {
// An application which receives a message using connectionless
// datagram socket.
// A command line argument is expected, in order:
// <port number of the receiver's socket>
// Note: the same port number should be specified in the
// command-line arguments for the sender.
public static void main(String[] args) {
if (args.length != 1)
System.out.println
("This program requires a command line argument.");
else {
int port = Integer.parseInt(args[0]);
final int MAX_LEN = 10;
// This is the assumed maximum byte length of the
// datagram to be received.
try {
DatagramSocket mySocket = new DatagramSocket(port);
// instantiates a datagram socket for receiving the data
byte[ ] buffer = new byte[MAX_LEN];
DatagramPacket datagram =
new DatagramPacket(buffer, MAX_LEN);
mySocket.receive(datagram);
String message = new String(buffer);
System.out.println(message);
mySocket.close( );
} // end try
catch (Exception ex) {
ex.printStackTrace( );
}
} // end else
} // end main
} // end class
What should I enter in the command prompt to make it work?
Can I choose my own IP and any non-dedicated port number such as 88888 and 88889?