1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.net.telnet;
18
19 import java.net.ServerSocket;
20 import java.net.Socket;
21 import java.io.InputStream;
22 import java.io.OutputStream;
23 import java.io.IOException;
24
25
26
27
28
29
30
31 public class TelnetTestSimpleServer implements Runnable
32 {
33 ServerSocket serverSocket = null;
34 Socket clientSocket = null;
35 Thread listener = null;
36
37
38
39
40
41
42 public TelnetTestSimpleServer(int port) throws IOException
43 {
44 serverSocket = new ServerSocket(port);
45
46 listener = new Thread (this);
47
48 listener.start();
49 }
50
51
52
53
54
55 public void run()
56 {
57 boolean bError = false;
58 while(!bError)
59 {
60 try
61 {
62 clientSocket = serverSocket.accept();
63 synchronized (clientSocket)
64 {
65 try
66 {
67 clientSocket.wait();
68 }
69 catch (Exception e)
70 {
71 System.err.println("Exception in wait, "+ e.getMessage());
72 }
73 try
74 {
75 clientSocket.close();
76 }
77 catch (Exception e)
78 {
79 System.err.println("Exception in close, "+ e.getMessage());
80 }
81 }
82 }
83 catch (IOException e)
84 {
85 bError = true;
86 }
87 }
88
89 try
90 {
91 serverSocket.close();
92 }
93 catch (Exception e)
94 {
95 System.err.println("Exception in close, "+ e.getMessage());
96 }
97 }
98
99
100
101
102
103 public void disconnect()
104 {
105 if (clientSocket == null) {
106 return;
107 }
108 synchronized (clientSocket)
109 {
110 try
111 {
112 clientSocket.notify();
113 }
114 catch (Exception e)
115 {
116 System.err.println("Exception in notify, "+ e.getMessage());
117 }
118 }
119 }
120
121
122
123
124 public void stop()
125 {
126 listener.interrupt();
127 try
128 {
129 serverSocket.close();
130 }
131 catch (Exception e)
132 {
133 System.err.println("Exception in close, "+ e.getMessage());
134 }
135 }
136
137
138
139
140 public InputStream getInputStream() throws IOException
141 {
142 if(clientSocket != null)
143 {
144 return(clientSocket.getInputStream());
145 }
146 else
147 {
148 return(null);
149 }
150 }
151
152
153
154
155 public OutputStream getOutputStream() throws IOException
156 {
157 if(clientSocket != null)
158 {
159 return(clientSocket.getOutputStream());
160 }
161 else
162 {
163 return(null);
164 }
165 }
166 }