KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > demo > concurrency > ReferenceServer


1 package demo.concurrency;
2
3
4
5 import java.io.*;
6
7 import java.net.Socket JavaDoc.*;
8
9 import java.net.*;
10
11
12
13 public class ReferenceServer implements Runnable JavaDoc{
14
15
16
17    private org.omg.CORBA.Object JavaDoc ref;
18
19    private int port_num;
20
21
22
23    public ReferenceServer(org.omg.CORBA.Object JavaDoc _ref, int port){
24
25       ref = _ref;
26
27       port_num = port;
28
29    }
30
31
32
33    public void run(){
34
35       Socket JavaDoc 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 JavaDoc 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