diff src/myVncClient/RfbProto.java @ 69:1f05b73b15df

modify MyVncClient.java and CuiMyVNcClient.java
author e085711
date Sun, 07 Aug 2011 04:22:07 +0900
parents 4225c2fd3e16
children ec66d1d4dca0
line wrap: on
line diff
--- a/src/myVncClient/RfbProto.java	Sat Aug 06 23:34:37 2011 +0900
+++ b/src/myVncClient/RfbProto.java	Sun Aug 07 04:22:07 2011 +0900
@@ -26,18 +26,16 @@
 //
 
 import java.io.*;
-import java.awt.*;
 import java.awt.event.*;
 import java.net.Socket;
-import java.net.ServerSocket;
 import java.util.zip.*;
-import java.nio.*;
 
 class RfbProto {
 
 	final static String versionMsg_3_3 = "RFB 003.003\n",
 			versionMsg_3_7 = "RFB 003.007\n", versionMsg_3_8 = "RFB 003.008\n";
 
+
 	// Vendor signatures: standard VNC/RealVNC, TridiaVNC, and TightVNC
 	final static String StandardVendor = "STDV", TridiaVncVendor = "TRDV",
 			TightVncVendor = "TGHT";
@@ -77,8 +75,8 @@
 
 	// Supported encodings and pseudo-encodings
 	final static int EncodingRaw = 0, EncodingCopyRect = 1, EncodingRRE = 2,
-			EncodingCoRRE = 4, EncodingHextile = 5, EncodingZlib = 6,
-			EncodingTight = 7, EncodingZRLE = 16,
+ 			EncodingCoRRE = 4, EncodingHextile = 5, EncodingZlib = 6,
+			EncodingTight = 7, EncodingZRLEE = 15, EncodingZRLE = 16,
 			EncodingCompressLevel0 = 0xFFFFFF00,
 			EncodingQualityLevel0 = 0xFFFFFFE0, EncodingXCursor = 0xFFFFFF10,
 			EncodingRichCursor = 0xFFFFFF11, EncodingPointerPos = 0xFFFFFF18,
@@ -87,6 +85,7 @@
 			SigEncodingCopyRect = "COPYRECT", SigEncodingRRE = "RRE_____",
 			SigEncodingCoRRE = "CORRE___", SigEncodingHextile = "HEXTILE_",
 			SigEncodingZlib = "ZLIB____", SigEncodingTight = "TIGHT___",
+			SigEncodingZRLEE = "ZRLEE___",
 			SigEncodingZRLE = "ZRLE____",
 			SigEncodingCompressLevel0 = "COMPRLVL",
 			SigEncodingQualityLevel0 = "JPEGQLVL",
@@ -176,9 +175,6 @@
 //	private boolean closed;
 	protected boolean closed;
 
-	public RfbProto(){
-	}
-	
 	//
 	// Constructor. Make TCP connection to RFB server.
 	//
@@ -226,7 +222,11 @@
 		timedKbits = 0;
 	}
 	
-	
+	public RfbProto() {
+		
+	}
+
+
 
 	synchronized void close() {
 		try {
@@ -469,13 +469,16 @@
 		encodingCaps.add(EncodingHextile, StandardVendor, SigEncodingHextile,
 				"Standard Hextile encoding");
 		encodingCaps.add(EncodingZRLE, StandardVendor, SigEncodingZRLE,
-				"Standard ZRLE encoding");
+	    		"Standard ZRLE encoding");		
+		encodingCaps.add(EncodingZRLEE, StandardVendor, SigEncodingZRLEE,
+	    		"Standard ZRLE(E) encoding");
 		encodingCaps.add(EncodingZlib, TridiaVncVendor, SigEncodingZlib,
 				"Zlib encoding");
 		encodingCaps.add(EncodingTight, TightVncVendor, SigEncodingTight,
 				"Tight encoding");
 
 		// Supported pseudo-encoding types
+
 		encodingCaps.add(EncodingCompressLevel0, TightVncVendor,
 				SigEncodingCompressLevel0, "Compression level");
 		encodingCaps.add(EncodingQualityLevel0, TightVncVendor,
@@ -490,6 +493,7 @@
 				"LastRect protocol extension");
 		encodingCaps.add(EncodingNewFBSize, TightVncVendor,
 				SigEncodingNewFBSize, "Framebuffer size change");
+
 	}
 
 	//
@@ -562,9 +566,13 @@
 	void writeClientInit() throws IOException {
 /*
 		if (viewer.options.shareDesktop) {
+*/
+		
+		/**
+		 * shared flag
+		 */
 			os.write(1);
-*/
-			os.write(0);
+//			os.write(0);
 
 //		viewer.options.disableShareDesktop();
 	}
@@ -692,6 +700,8 @@
 	void readFramebufferUpdate() throws IOException {
 		skipBytes(1);
 		updateNRects = readU16();
+		// System.out.println(updateNRects);
+
 		// If the session is being recorded:
 		if (rec != null) {
 			rec.writeByte(FramebufferUpdate);
@@ -716,6 +726,7 @@
 
 		if (updateRectEncoding == EncodingZlib
 				|| updateRectEncoding == EncodingZRLE
+				|| updateRectEncoding == EncodingZRLEE
 				|| updateRectEncoding == EncodingTight)
 			wereZlibUpdates = true;
 
@@ -948,6 +959,8 @@
 	final static int META_MASK = InputEvent.META_MASK;
 	final static int ALT_MASK = InputEvent.ALT_MASK;
 
+
+
 	//
 	// Write a pointer event message. We may need to send modifier key events
 	// around it to set the correct modifier state.
@@ -1205,7 +1218,7 @@
 		if (!down)
 			writeModifierKeyEvents(0);
 
-		//os.write(eventBuf, 0, eventBufLen);
+		os.write(eventBuf, 0, eventBufLen);
 	}
 
 	//
@@ -1378,5 +1391,4 @@
 		numBytesRead += 4;
 		return r;
 	}
-
 }