annotate src/myVncProxy/CreateThread.java @ 131:2a90459a05f0

modify CreateThread
author e085711
date Tue, 30 Aug 2011 06:21:13 +0900
parents cb00150c223e
children 4297c2011b71
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package myVncProxy;
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import java.io.BufferedReader;
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import java.io.IOException;
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import java.io.InputStreamReader;
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 import java.io.PrintStream;
130
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
7 import java.net.BindException;
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 import java.net.ServerSocket;
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 import java.net.Socket;
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
64
3ec4c9e94462 update myVncProxy
one
parents: 63
diff changeset
11 public class CreateThread implements Runnable {
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 ServerSocket echoServer;
73
6fc4272db7e2 change class name
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents: 64
diff changeset
13 AcceptClient acceptClient;
130
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
14 int port;
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
15
118
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
16 public CreateThread(AcceptClient _acc) {
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 acceptClient = _acc;
130
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
18 port = 9999;
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
19 }
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
20
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
21 public CreateThread(AcceptClient _acc , int port) {
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
22 acceptClient = _acc;
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
23 this.port = port;
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 }
118
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
25
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
26 void newEchoClient(final BufferedReader is,final PrintStream os) {
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
27 Runnable echoSender = new Runnable() {
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
28 public void run() {
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
29 acceptClient.transferParentAddrerss(is,os);
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
30 }
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
31 };
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
32 new Thread(echoSender).start();
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
33 }
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
34
130
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
35 void selectPort(int p) {
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
36 int port = p;
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 while (true) {
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 try {
130
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
39 initServSock(port);
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
40 break;
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
41 } catch (BindException e) {
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
42 port++;
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
43 continue;
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
44 } catch (IOException e) {
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
45
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
46 }
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
47 }
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
48 System.out.println("accept port = " + port);
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
49 }
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
50
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
51 void initServSock(int port) throws IOException {
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
52 echoServer = new ServerSocket(port);
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
53 this.port = port;
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
54 }
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
55
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
56
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
57 public void run() {
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
58 selectPort(port);
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
59
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
60 while (true) {
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
61 try {
cb00150c223e implement sendEchoPort
e085711
parents: 118
diff changeset
62 // echoServer = new ServerSocket(9999);
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 Socket clientSocket = echoServer.accept();
118
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
64 BufferedReader is = new BufferedReader(new InputStreamReader(
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
65 clientSocket.getInputStream()));
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 PrintStream os = new PrintStream(clientSocket.getOutputStream());
118
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
67 newEchoClient(is,os);
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
68 // acceptClient.transferParentAddrerss(is, os);
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
69 } catch (IOException e) {
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 System.out.println(e);
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 }
131
2a90459a05f0 modify CreateThread
e085711
parents: 130
diff changeset
72 /*
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 try {
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 echoServer.close();
118
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
75 } catch (IOException e) {
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 System.out.println(e);
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 }
131
2a90459a05f0 modify CreateThread
e085711
parents: 130
diff changeset
78 */
118
df68f1f9034d modify CreateThread.java
e085711
parents: 116
diff changeset
79
63
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 }
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 }
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83
4864a7d1df00 add CreateThread.java modify acceptClient.java and VncProxyService.java
Yu Taninari <e085734@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 }