1 package demo.concurrency; 2 3 4 5 import java.io.*; 6 7 import java.net.Socket .*; 8 9 import java.net.*; 10 11 12 13 public class ReferenceServer implements Runnable { 14 15 16 17 private org.omg.CORBA.Object ref; 18 19 private int port_num; 20 21 22 23 public ReferenceServer(org.omg.CORBA.Object _ref, int port){ 24 25 ref = _ref; 26 27 port_num = port; 28 29 } 30 31 32 33 public void run(){ 34 35 Socket conn = null; 36 37 PrintWriter quoteSend = null; 38 39 try { 40 41 ServerSocket server = new ServerSocket(port_num); 42 43 for (;;){ 44 45 conn = server.accept(); 46 47 quoteSend = new PrintWriter(conn.getOutputStream()); 48 49 quoteSend.print(ref); 50 51 quoteSend.flush(); 52 53 54 55 try { 56 57 Thread.currentThread().sleep(3000); 58 59 } catch(InterruptedException e) { 60 61 } 62 63 64 65 quoteSend.close(); 66 67 conn.close(); 68 69 } 70 71 } catch (UnknownHostException e){ 72 73 e.printStackTrace(); 74 75 } catch (IOException ioe){ 76 77 ioe.printStackTrace(); 78 79 } finally { 80 81 if (quoteSend != null){ 82 83 quoteSend.close(); 84 85 } 86 87 if (conn != null){ 88 89 try { 90 91 conn.close(); 92 93 } catch (IOException ioe){ 94 95 ioe.printStackTrace(); 96 97 } 98 99 } 100 101 } 102 103 } 104 105 } 106 107 | Popular Tags |