package org.jacorb.demo.concurrency; import java.io.*; import java.net.Socket.*; import java.net.*; public class ReferenceServer implements Runnable{ private org.omg.CORBA.Object ref; private int port_num; public ReferenceServer(org.omg.CORBA.Object _ref, int port){ ref = _ref; port_num = port; } public void run(){ Socket conn = null; PrintWriter quoteSend = null; try { ServerSocket server = new ServerSocket(port_num); for (;;){ conn = server.accept(); quoteSend = new PrintWriter(conn.getOutputStream()); quoteSend.print(ref); quoteSend.flush(); try { Thread.currentThread().sleep(3000); } catch(InterruptedException e) { } quoteSend.close(); conn.close(); } } catch (UnknownHostException e){ e.printStackTrace(); } catch (IOException ioe){ ioe.printStackTrace(); } finally { if (quoteSend != null){ quoteSend.close(); } if (conn != null){ try { conn.close(); } catch (IOException ioe){ ioe.printStackTrace(); } } } } }