changeset 128:0cf1541f69bb

find root reply is accepted.
author oc
date Fri, 06 Jun 2014 20:28:59 +0900
parents cc1fcdc7657c
children a6dc674546f2
files src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java src/main/java/jp/ac/u_ryukyu/treevnc/MyRfbProto.java src/viewer_swing/java/com/glavsoft/viewer/CuiViewer.java src/viewer_swing/java/com/glavsoft/viewer/Viewer.java
diffstat 4 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java	Fri Jun 06 19:49:47 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java	Fri Jun 06 20:28:59 2014 +0900
@@ -2,7 +2,6 @@
 
 import java.util.logging.Logger;
 import com.glavsoft.viewer.ViewerImpl;
-import com.glavsoft.viewer.swing.ConnectionParams;
 import jp.ac.u_ryukyu.treevnc.client.TreeVncProtocol;
 import jp.ac.u_ryukyu.treevnc.client.GetHostClient;
 
@@ -10,7 +9,7 @@
 
 public class CreateConnectionParam {
 	private String hostName;
-	private int portNumber;
+	private int portNumber = 5999;
 	private MyRfbProto rfb;
 	private final Logger logger;
 	
@@ -43,11 +42,9 @@
 		rfb.setProxyAddr(hostName);
 		echo.getParentName();
 		v.setConnectionParam(echo.getParentsAddress(), portNumber);
-		runAcceptThread();
 	}
 
-
-	private void runAcceptThread() {
+	public void runAcceptThread() {
 		Thread accThread = new Thread(new AcceptThread(rfb, portNumber));
 		accThread.start();
 	}
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/MyRfbProto.java	Fri Jun 06 19:49:47 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/MyRfbProto.java	Fri Jun 06 20:28:59 2014 +0900
@@ -84,10 +84,11 @@
 	
 	private void treeVncCommand(byte[] b, Reader is, Writer os) {
 		ByteBuffer buf = ByteBuffer.wrap(b);
-		int command = buf.get();
+		int command = buf.get()&0xff;
 
 		switch (command) {
 		case ProtocolContext.FIND_ROOT : 
+		case ProtocolContext.FIND_ROOT_REPLY :
 		case ProtocolContext.WHERE_TO_CONNECT : 
 		case ProtocolContext.LOST_PARENT :
 			System.out.println("get treeVNC command" + command);
@@ -284,7 +285,7 @@
 
 		reader.readBytes(b);
 
-		if (b[0]>=220) return b; // TreeVNC extention command.
+		if ((b[0]&0xff)>=220) return b; // TreeVNC extention command.
 		if ((b[0] != 'R') || (b[1] != 'F') || (b[2] != 'B') || (b[3] != ' ')
 				|| (b[4] < '0') || (b[4] > '9') || (b[5] < '0') || (b[5] > '9')
 				|| (b[6] < '0') || (b[6] > '9') || (b[7] != '.')
--- a/src/viewer_swing/java/com/glavsoft/viewer/CuiViewer.java	Fri Jun 06 19:49:47 2014 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/CuiViewer.java	Fri Jun 06 20:28:59 2014 +0900
@@ -214,6 +214,7 @@
 		CuiViewer viewer = new CuiViewer();
 		MyRfbProtoClient rfb = new MyRfbProtoClient();
 		CreateConnectionParam cp = new CreateConnectionParam(rfb);
+		cp.runAcceptThread();
 		cp.findTreeVncRoot();
 		cp.createConnectionParam(viewer);
 		rfb.setViewer(viewer);
@@ -227,6 +228,7 @@
 		MyRfbProtoClient rfb = new MyRfbProtoClient();
 		CreateConnectionParam cp = new CreateConnectionParam(rfb);
 		cp.setHostName(hostName);
+		cp.runAcceptThread();
 		cp.createConnectionParam(viewer);
 		rfb.setViewer(viewer);
 		rfb.setCuiVersion(true);
--- a/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java	Fri Jun 06 19:49:47 2014 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java	Fri Jun 06 20:28:59 2014 +0900
@@ -291,6 +291,7 @@
 	public void startViewer() {
 		MyRfbProtoClient rfb = new MyRfbProtoClient();
 		CreateConnectionParam cp = new CreateConnectionParam(rfb);
+		cp.runAcceptThread();
 		cp.findTreeVncRoot();
 		cp.createConnectionParam(this);
 		isTreeVNC = true;
@@ -305,6 +306,7 @@
 		rfb.setCuiVersion(cui);
 		CreateConnectionParam cp = new CreateConnectionParam(rfb);
 		cp.setHostName(hostName);
+		cp.runAcceptThread();
 		cp.createConnectionParam(this);
 		isTreeVNC = true;
 		rfb.setViewer(this);