Lecture 8 - Distributed Programming - Code Samples
Objects Over socket example
Code for the SortServer (SortServer.java)
import java.io.*; import java.net.*; import java.util.Vector; import java.util.Collections; public class SortServer { public static void main(String args[]) throws Exception { ServerSocket ss = new ServerSocket(7177); //client socket Socket socket; while(true) { socket = ss.accept(); //create an input stream to read an incoming object ObjectInputStream in = new ObjectInputStream( socket.getInputStream()); //read the object Object inObject = in.readObject(); //Cast the inObject to a vector Vector inVector = (Vector)inObject; //sort the vector Collections.sort(inVector); //vector is now sorted //send the sorted inVector object to the client ObjectOutputStream out = new ObjectOutputStream( socket.getOutputStream()); out.writeObject(inVector); //close client socket socket.close(); } } }
Code for the sort client (SortClient.java)
import java.net.*; import java.io.*; import java.util.Vector; public class SortClient { public static void main(String args[]) throws Exception { //create a vector object with many elements as numbers and send //it to the sort server Vector elements = new Vector(); elements.addElement(new Integer(23)); elements.addElement(new Integer(25)); elements.addElement(new Integer(2)); elements.addElement(new Integer(-4)); //connect to the server Socket socket = new Socket("localhost", 7177); //get an output stream to write the object to the server ObjectOutputStream out = new ObjectOutputStream( socket.getOutputStream()); //send the object to the server out.writeObject(elements); //Create an input stream to read response from the server ObjectInputStream in = new ObjectInputStream( socket.getInputStream()); //response comes as an Object Object o = in.readObject(); //Cast the raw object to a vector Vector sorted = (Vector) o; //Display the sorted vector System.out.println(sorted); //close socket socket.close(); } } //end SortClient.java
page revision: 1, last edited: 23 Apr 2011 11:40