12
|
1 package jp.ac.u_ryukyu.treevnc.client;
|
1
|
2
|
|
3 import java.io.IOException;
|
38
|
4 import java.io.OutputStream;
|
42
|
5 import java.net.BindException;
|
1
|
6 import java.net.ServerSocket;
|
|
7 import java.net.Socket;
|
12
|
8
|
38
|
9 /**
|
|
10 * this Class get top(Proxy) Instruction.
|
|
11 * Type of Instruction is ReConnection and SocketClose.
|
|
12 */
|
1
|
13 public class WaitReply extends Thread {
|
38
|
14 private boolean passflag;
|
|
15 private EchoClient echo;
|
1
|
16
|
36
|
17 public WaitReply(String treenum, EchoClient echo) {
|
|
18 this.echo = echo;
|
1
|
19 }
|
|
20
|
|
21 public boolean checkPath() {
|
|
22 return passflag;
|
|
23 }
|
|
24
|
|
25 public void run() {
|
|
26 Socket clientSocket = null;
|
|
27 ServerSocket echoServer = null;
|
|
28 while (true) {
|
|
29 try {
|
|
30 echoServer = new ServerSocket(10001);
|
|
31 clientSocket = echoServer.accept();
|
|
32 if (clientSocket != null) {
|
43
|
33 echo.client.setTeminationType(true);
|
42
|
34 echo.client.stopTask();
|
36
|
35 echo.client.close();
|
1
|
36 passflag = true;
|
42
|
37 System.out.println("------waitreply");
|
36
|
38 echo.client.setSocket(echo.createSocketForClient(clientSocket));
|
38
|
39 // hult();
|
36
|
40 // client.init();
|
|
41 echo.client.run();
|
1
|
42 echoServer.close();
|
|
43 }
|
42
|
44 } catch (BindException e) {
|
|
45 break;
|
1
|
46 } catch (IOException e) {
|
|
47 System.out.println(e);
|
42
|
48 }
|
1
|
49 }
|
|
50 }
|
38
|
51
|
|
52 private void hult() throws IOException {
|
|
53 Socket socket = new Socket("localhsot", echo.client.getPort());
|
|
54 OutputStream stream = socket.getOutputStream();
|
|
55 stream.write("halt".getBytes());
|
|
56 stream.flush();
|
|
57 }
|
1
|
58 }
|