Mercurial > hg > Members > nobuyasu > tightVNCClient
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; } - }