diff src/myVncClient/MyRfbProto.java @ 72:ec66d1d4dca0

modify MyVncClient.connectAndAuthenticate()
author e085711
date Mon, 29 Aug 2011 03:14:53 +0900
parents f6cb1edc2036
children 83acdeca0539
line wrap: on
line diff
--- a/src/myVncClient/MyRfbProto.java	Mon Aug 29 01:39:15 2011 +0900
+++ b/src/myVncClient/MyRfbProto.java	Mon Aug 29 03:14:53 2011 +0900
@@ -60,6 +60,8 @@
 	private LinkedList<Socket> cliListTmp;
 	private LinkedList<Socket> cliList;
 	boolean createBimgFlag;
+	//override
+	InterfaceForViewer viewer;
 
 	ExecutorService executor;
 
@@ -84,7 +86,7 @@
 		// executor = Executors.newCachedThreadPool();
 		// executor = Executors.newSingleThreadExecutor();
 	}
-
+	
 	MyRfbProto(String h, int p) throws IOException {
 		super(h, p);
 		cliList = new LinkedList<Socket>();
@@ -94,6 +96,37 @@
 		// executor = Executors.newCachedThreadPool();
 		// executor = Executors.newSingleThreadExecutor();
 	}
+
+	
+	void readVersionMsg() throws Exception {
+
+		byte[] b = new byte[12];
+
+		readFully(b);
+
+		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] != '.')
+				|| (b[8] < '0') || (b[8] > '9') || (b[9] < '0') || (b[9] > '9')
+				|| (b[10] < '0') || (b[10] > '9') || (b[11] != '\n')) {
+			throw new Exception("Host " + host + " port " + port
+					+ " is not an RFB server");
+		}
+
+		serverMajor = (b[4] - '0') * 100 + (b[5] - '0') * 10 + (b[6] - '0');
+		serverMinor = (b[8] - '0') * 100 + (b[9] - '0') * 10 + (b[10] - '0');
+
+		if (serverMajor < 3) {
+			throw new Exception(
+					"RFB server does not support protocol version 3");
+		}
+
+		if (serverMinor == 998) {
+			
+		}
+		
+	}
+	
 	void changeParent(String h, int p) throws IOException {
 		host = h;
 		port = p;