changeset 53:978261e2b396

screen change for client
author one
date Tue, 05 Nov 2013 17:20:53 +0900
parents 986f16afb753
children 0ae87c7e767c
files src/main/java/jp/ac/u_ryukyu/treevnc/client/EchoClient.java src/main/java/jp/ac/u_ryukyu/treevnc/server/AcceptClient.java src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java src/main/java/jp/ac/u_ryukyu/treevnc/server/state/ChangeHost.java src/main/java/jp/ac/u_ryukyu/treevnc/server/state/ReconnectionRequest.java src/viewer_swing/java/com/glavsoft/viewer/ConnectionManager.java src/viewer_swing/java/com/glavsoft/viewer/Viewer.java
diffstat 7 files changed, 55 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/client/EchoClient.java	Sat Nov 02 17:55:10 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/client/EchoClient.java	Tue Nov 05 17:20:53 2013 +0900
@@ -252,28 +252,38 @@
 		return myAddress;
 	}
 
-	// create scoket for ReConnection.
+	// create socket for ReConnection.
 	public Socket createSocketForClient(Socket soc,boolean flag) throws IOException {
 		Socket socket  = null;
 		String parentAddress;
-//		int count = 0; 
-		if("1".equals(leaderFlag)||flag) { // leader only
-			BufferedReader is = new BufferedReader(new InputStreamReader(
-					soc.getInputStream()));
-			parentAddress = is.readLine();
+		int count = 0; 
+		
+		BufferedReader is = new BufferedReader(new InputStreamReader(
+				soc.getInputStream()));
+		parentAddress = is.readLine();
+		if ("reconnection".equals(parentAddress)) {
+			String port = is.readLine();
+			while (true) {
+				try {
+					System.out.println("-----------------into function \n" + this.parentAddress+":"+port);
+					client.setOpenPort(Integer.parseInt(port));
+					return new Socket(this.parentAddress,
+							Integer.parseInt(port));
+				} catch (IOException e) {
+					try {
+						Thread.sleep(1000);
+					} catch (InterruptedException e1) {
+						e1.printStackTrace();
+					}
+					if (count++ > 5)
+						break;
+					continue;
+				}
+			}
+		} else { 
 			is.readLine();// parentNum
-		} else { // other client
-			ServerSocket waitReplyServer = new ServerSocket(9999);
-			Socket socketForWait = waitReplyServer.accept();
-			BufferedReader isNotLeader = new BufferedReader(new InputStreamReader(
-					socketForWait.getInputStream()));
-			System.out.println("-------------------renode----------------------------");
-			parentAddress = isNotLeader.readLine();
-			if ((parentNum = isNotLeader.readLine()) != null) {
-				System.out.println("parent:test " + parentNum);
-			}
-				isNotLeader.readLine();
 		}
+	
 		socket = new Socket(parentAddress, 5999);
 		socket.setReuseAddress(true);
 		/*
@@ -281,7 +291,7 @@
 		//is.readLine();// parentNum
 		if ("reconnection".equals(tempParentAddress)) {
 			System.out.println("-----------------into function \n" + parentNum);
-			while (true)
+			while (true) {
 				try {
 					return new Socket(parentAddress,
 							Integer.parseInt(parentNum));
@@ -295,6 +305,7 @@
 						break;
 					continue;
 				}
+			}
 		}
 		//is.readLine();// treeNum
 		//is.readLine();// leaderFlag
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/AcceptClient.java	Sat Nov 02 17:55:10 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/AcceptClient.java	Tue Nov 05 17:20:53 2013 +0900
@@ -172,14 +172,14 @@
 	
 	private void lostNodeConnection(int treeNum,String hostNode,String port,String treeNumber) throws UnknownHostException, IOException {
 		for(int i = 1; i < treebranch; i++) {
-			String host =ls.get(treeNum+i);
+			String host = ls.get(treeNum+i);
 			System.out.println("connection socket for-------------------- " + host );
-			Socket clients = new Socket(host, 9999);
+			Socket clients = new Socket(host, 10001);
 			clients.setReuseAddress(true);
 			DataOutputStream os = new DataOutputStream(clients.getOutputStream());
 			System.out.println("hostnode"+hostNode+"::port" + port);
 			os.writeBytes(hostNode+"\n");
-			os.writeBytes(port+"\n");
+			//os.writeBytes(port+"\n");
 			os.writeBytes(String.valueOf(treeNum+1)+"\n");
 			os.close();
 		}
@@ -322,4 +322,8 @@
 	public void setList(LinkedList<String> _ls) {
 		ls = _ls;
 	}
+	
+	public int getTreeBranch() {
+		return treebranch;
+	}
  }
\ No newline at end of file
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java	Sat Nov 02 17:55:10 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java	Tue Nov 05 17:20:53 2013 +0900
@@ -344,9 +344,10 @@
 		}
 	}
 
-	private void createSocketAndSend(LinkedList<String> clientList, String port)
+	private void createSocketAndSend(LinkedList<String> clientList, String host, String port)
 			throws UnknownHostException, IOException {
 		boolean passFlag = false;
+		int count = 0;
 		for (String client : clientList) {
 			if (passFlag) {
 				Socket echoSocket;
@@ -354,7 +355,10 @@
 				DataOutputStream os = new DataOutputStream(
 						echoSocket.getOutputStream());
 				os.writeBytes("reconnection\n");
+//				if(count++ < aClient.getTreeBranch())
 				os.writeBytes(port + "\n");
+//				else 
+//					os.writeBytes(5999 + "\n");
 				os.close();
 			}
 			passFlag = true;
@@ -369,7 +373,7 @@
 		newVps.connectionParams.hostName = hostName;
 		if (newVps.run1()) {
 			newVps.createConnectionAndStart();
-			newVps.createSocketAndSend(aClient.getList(), String.valueOf(newVps.opendPort));
+			newVps.createSocketAndSend(aClient.getList(), hostName, String.valueOf(newVps.opendPort));
 		} else {
 			newVps.cleanUpSession();
 		}
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/state/ChangeHost.java	Sat Nov 02 17:55:10 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/state/ChangeHost.java	Tue Nov 05 17:20:53 2013 +0900
@@ -37,10 +37,12 @@
 
 	private void waitingInput() {
 		try {
-			BufferedReader br = new BufferedReader(new InputStreamReader(
-					System.in));
-			str = br.readLine();
-			vps.changeVNCServer(str);
+			while(true) {
+				BufferedReader br = new BufferedReader(new InputStreamReader(
+						System.in));
+				str = br.readLine();
+				vps.changeVNCServer(str);
+			}
 //			vps.createConnectionAndStart();
 //			vps.aClient.setList(prevVps.aClient.getList());
 //			clientList = prevVps.aClient.getList();
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/state/ReconnectionRequest.java	Sat Nov 02 17:55:10 2013 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/state/ReconnectionRequest.java	Tue Nov 05 17:20:53 2013 +0900
@@ -9,6 +9,7 @@
 
 public class ReconnectionRequest implements ScreenChanges {
 	private VncProxyService vps;
+	private String host;
 	
 	public ReconnectionRequest(VncProxyService vps) {
 		this.vps = vps;
--- a/src/viewer_swing/java/com/glavsoft/viewer/ConnectionManager.java	Sat Nov 02 17:55:10 2013 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/ConnectionManager.java	Tue Nov 05 17:20:53 2013 +0900
@@ -125,8 +125,7 @@
 								connectionParams.portNumber, settings, isApplet);
 					}
 					connectionDialog.setVisible(true);
-					connectionParams.hostName = connectionDialog
-							.getServerNameString();
+					connectionParams.hostName = connectionDialog.getServerNameString();
 					connectionParams.portNumber = connectionDialog.getPort();
 				}
 			} else {
--- a/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java	Sat Nov 02 17:55:10 2013 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java	Tue Nov 05 17:20:53 2013 +0900
@@ -436,8 +436,8 @@
 			}
 		});
 
-		JButton testButton = new JButton(Utils.getButtonIcon("test"));
-		testButton.setToolTipText("test");
+		JButton testButton = new JButton(Utils.getButtonIcon("my screen"));
+		testButton.setToolTipText("my screen");
 		testButton.setMargin(BUTTONS_MARGIN);
 		buttonBar.add(testButton);
 		kbdButtons.add(testButton);
@@ -699,4 +699,7 @@
 		isClient = flag;
 	}
 		
+	public void setOpenPort(int port) {
+		connectionParams.portNumber = port;
+	}
 }