CLIENT
import java.net.*;
import java.util.*;
class client
{
public static void main (String args[])
{
String host = "localhost"; //local host
int port = 2000; //port used
try
{
if(args.length >= 3)
{
host = args[0]; //machine
port = Integer.parseInt(args[1]); //port
}
else
{
throw new Exception("Bad usage");
}
}
catch(Exception err)
{
System.out.println("Usage Client machine port message(s)");
return;
}
try
{
NetObjectWriter out; //object output stream
NetObjectReader in; //object input stream
Socket socket = new Socket(host,port); //socket
out = new NetObjectWriter(socket); //output
in = new NetObjectReader(socket); //input
for (int i=2; i<args.length;i++) //send messages
{
out.put(args[i]); //to server
String response = (String) in.get(); //response
System.out.println("Length of [" + args[i] + "] is" + response);
}
socket.close(); //close connection
}
catch(Exception err)
{
System.out.println("Error." + err.getMessage());
}
}
}
SERVER
import java.lang.*;
import java.net.*;
class server
{
public static void main (String args[])
{
try
{
if(args.length ==1)
{
int port = Integer.parseInt(args[0]); //port#
(new server()).process(port); //start server
return; //normal exit
}
}
catch(Exception err)
{
System.out.println("Port not integer"); //integer port#
}
System.out.println("Usage Server port"); //display usage
}
public void process(final int port)
{
try
{
ServerSocket ss = new ServerSocket(); //server socket
while(true) //busy loop
{
Socket socket = ss.accept(); //wait
NetObjectReader in = new NetObjectReader(socket); //input
NetObjectWriter out = new NetObjectWriter(socket); //output
while(true) //loop
{
Object obj = in.get(); //from client
if(obj == null) break; //no more data
String message = (String) obj; //to string
System.out.println(message); //print message
out.put("" + message.length()); //return length
}
in.close(); //close read
out.close(); //close write
socket.close(); //closee socket
}
}
catch(Exception err)
{
System.out.println("Error: " + err.getMessage());
}
}
}