import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class NetServer {

	public static void main(String[] args) {
		if (args.length < 1) {
			System.out.println("usage: NetServer listenport");
			System.exit(-1);
		}
		int port = 0;
		try {
			port = Integer.parseInt(args[0]);
		} catch (NumberFormatException nfe) {
			System.out.println("usage: NetServer listenport");
			System.exit(-1);
		}

		ServerSocket s;
		ObjectInputStream ois;
		Foo f1 = null, f2 = null;
		try {
			s = new ServerSocket(port);
			Socket conn = s.accept();
			ois = new ObjectInputStream(conn.getInputStream());
			f1 = (Foo) ois.readObject();
			f2 = (Foo) ois.readObject();
			
			ObjectOutputStream oos = new ObjectOutputStream(conn.getOutputStream());
			oos.writeObject("Server Reply!");
			conn.close();
			s.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		System.out.println("f1 = ");
		System.out.println(f1);
		System.out.println("f2 = ");
		System.out.println(f2);
	}
}
