comparison src/treeVnc/CreateThread.java @ 0:756bfaf731f3

create new repository
author Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
date Tue, 21 Feb 2012 04:10:12 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:756bfaf731f3
1 package treeVnc;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStreamReader;
6 import java.io.PrintStream;
7 import java.net.BindException;
8 import java.net.ServerSocket;
9 import java.net.Socket;
10
11 public class CreateThread implements Runnable {
12 ServerSocket echoServer;
13 AcceptClient acceptClient;
14 int port;
15
16 public CreateThread(AcceptClient _acc) {
17 acceptClient = _acc;
18 port = 9999;
19 }
20
21
22 public CreateThread(int port,AcceptClient _acc) {
23 acceptClient = _acc;
24 this.port = port;
25 }
26
27
28 void newEchoClient(final BufferedReader is,final PrintStream os) {
29 Runnable echoSender = new Runnable() {
30 public void run() {
31 // AcceptClient acceptClient = new AcceptClient();
32 // acceptClient new
33 System.out.println("Threadつくります");
34 acceptClient.transferParentAddrerss(is,os);
35 }
36 };
37 new Thread(echoSender).start();
38 }
39
40 void selectPort(int p) {
41 int port = p;
42 while (true) {
43 try {
44 initServSock(port);
45 break;
46 } catch (BindException e) {
47 port++;
48 continue;
49 } catch (IOException e) {
50
51 }
52 }
53 System.out.println("accept Echo port = " + port);
54 }
55
56 void initServSock(int port) throws IOException {
57 echoServer = new ServerSocket(port);
58 this.port = port;
59 }
60
61
62 public void run() {
63 selectPort(port);
64
65 while (true) {
66 try {
67 // echoServer = new ServerSocket(9999);
68 Socket clientSocket = echoServer.accept();
69 BufferedReader is = new BufferedReader(new InputStreamReader(
70 clientSocket.getInputStream()));
71 PrintStream os = new PrintStream(clientSocket.getOutputStream());
72 System.out.println("accしたよ");
73 newEchoClient(is,os);
74 // acceptClient.transferParentAddrerss(is, os);
75 } catch (IOException e) {
76 System.out.println(e);
77 }
78 /*
79 try {
80 echoServer.close();
81 } catch (IOException e) {
82 System.out.println(e);
83 }
84 */
85
86 }
87
88 }
89
90 }