comparison src/main/java/jp/ac/u_ryukyu/treevnc/server/AcceptClient.java @ 13:406fa09ae645

modify VncProxyService.java
author one
date Wed, 22 Aug 2012 20:05:26 +0900
parents 12c3a73be47f
children 18fad65bc447
comparison
equal deleted inserted replaced
12:12c3a73be47f 13:406fa09ae645
5 import java.io.*; 5 import java.io.*;
6 import java.net.*; 6 import java.net.*;
7 import java.util.*; 7 import java.util.*;
8 8
9 public class AcceptClient { 9 public class AcceptClient {
10 private int counter = 0, parentnum = 0 /* 落ちたときの親の番号をカウントするためのもの */; 10 private int counter = 0, parentnum = 0;
11 private LinkedList<String> ls = new LinkedList<String>(); 11 private LinkedList<String> ls = new LinkedList<String>();
12 private boolean addrRegistor = true; 12 private boolean addrRegistor = true;
13 private int passNumber=0,numberZone; 13 private int passNumber=0,numberZone;
14 boolean runflag = false; 14 boolean runflag = false;
15 //private String name; 15 //private String name;
16 private int passCheck = 0; 16 private int passCheck = 0;
17 private final int treebranch = 2; // treeの子ノードの数 17 private final int treebranch = 2;
18 private String newparent,request,myAddress; 18 private String newparent,request,myAddress;
19 private String leaderflag = "0", sendleaderflag = "0"; 19 private String leaderflag = "0", sendleaderflag = "0";
20 private final int intv_time = 100; 20 private final int intv_time = 100;
21 21
22 22
33 */ 33 */
34 34
35 // public synchronized void transferParentAddrerss(BufferedReader 35 // public synchronized void transferParentAddrerss(BufferedReader
36 // is,PrintStream os) { 36 // is,PrintStream os) {
37 public void transferParentAddrerss(BufferedReader is,PrintStream os) { 37 public void transferParentAddrerss(BufferedReader is,PrintStream os) {
38 // クライアントからのメッセージを待ち、受け取ったメッセージをそのまま返す
39 try { 38 try {
40 while (true) { 39 while (true) {
41 String line = is.readLine(); 40 String line = is.readLine();
42 String port = is.readLine(); 41 String port = is.readLine();
43 myAddress = getMyAddress(); 42 myAddress = getMyAddress();
217 System.out.println(parentnum); 216 System.out.println(parentnum);
218 outputStream(os, request,String.valueOf(parentnum), 217 outputStream(os, request,String.valueOf(parentnum),
219 String.valueOf(counter), leaderflag); 218 String.valueOf(counter), leaderflag);
220 checkParameter(parentnum, counter, leaderflag); 219 checkParameter(parentnum, counter, leaderflag);
221 } else { 220 } else {
222 // treeの親ノードに接続する人に接続する人を教える
223 outputStream(os, myAddress, "0", 221 outputStream(os, myAddress, "0",
224 String.valueOf(counter), leaderflag); 222 String.valueOf(counter), leaderflag);
225 } 223 }
226 Thread.sleep(intv_time); 224 Thread.sleep(intv_time);
227 return false; 225 return false;
231 String newpnum, String newleaderflag) throws IOException { 229 String newpnum, String newleaderflag) throws IOException {
232 try { 230 try {
233 Socket echoSocket; 231 Socket echoSocket;
234 System.out.println(newchild + "connect"); 232 System.out.println(newchild + "connect");
235 // echoSocket = new Socket(newchild, 10001 + (i + 1));// 233 // echoSocket = new Socket(newchild, 10001 + (i + 1));//
236 // i+1は実験中に同じマシーンを使っていたのでportを変えて対応、本番時には取り除く予定。
237 echoSocket = new Socket(newchild, 10001); 234 echoSocket = new Socket(newchild, 10001);
238 DataOutputStream os = new DataOutputStream(echoSocket.getOutputStream()); 235 DataOutputStream os = new DataOutputStream(echoSocket.getOutputStream());
239 os.writeBytes(newparent + "\n"); 236 os.writeBytes(newparent + "\n");
240 os.writeBytes(newpnum + "\n"); 237 os.writeBytes(newpnum + "\n");
241 os.writeBytes(newtreenum + "\n"); 238 os.writeBytes(newtreenum + "\n");