# HG changeset patch # User e085711 # Date 1302647857 -32400 # Node ID 498393e502bff9c0ccf71a27c7a2fd136a20db3a # Parent cbe9c4ac036928cbc8ce0e32720c908456e124d4 change Socket -> ServerSocket diff -r cbe9c4ac0369 -r 498393e502bf src/RfbProto.java --- a/src/RfbProto.java Tue Apr 12 14:39:00 2011 +0900 +++ b/src/RfbProto.java Wed Apr 13 07:37:37 2011 +0900 @@ -28,6 +28,7 @@ import java.awt.*; import java.awt.event.*; import java.net.Socket; +import java.net.ServerSocket; import java.util.zip.*; import java.nio.*; @@ -173,11 +174,11 @@ private long numBytesRead = 0; public long getNumBytesRead() { return numBytesRead; } - boolean TEST=false; + boolean MYVNC=true; Socket cliSock; ByteBuffer buffer; int rnBytes; - + // Java on UNIX does not call keyPressed() on some keys, for example // swedish keys To prevent our workaround to produce duplicate @@ -234,9 +235,9 @@ if (viewer.socketFactory == null) { sock = new Socket(host, port); - if(TEST){ -// cliSock = new Socket("localhost",5550); - cliSock = new Socket("dimolto.cr.ie.u-ryukyu.ac.jp",5550); + if(MYVNC){ + ServerSocket serverSock = new ServerSocket(5550); + cliSock = serverSock.accept(); } } else { diff -r cbe9c4ac0369 -r 498393e502bf src/VncCanvas.java --- a/src/VncCanvas.java Tue Apr 12 14:39:00 2011 +0900 +++ b/src/VncCanvas.java Wed Apr 13 07:37:37 2011 +0900 @@ -381,8 +381,8 @@ while (true) { - if(rfb.TEST){ - System.out.println(""); + if(rfb.MYVNC){ + System.out.println("\ncount="+count); int len = rfb.available(); System.out.println("rfb.available()="+len); int skiplen = 0; @@ -395,14 +395,15 @@ int msgType = rfb.readU8(); System.out.println("msgType="+msgType); - rfb.skipBytes(15); -// rfb.skipBytes(16); + rfb.skipBytes(11); + int encoding = rfb.readU32(); + System.out.println("encoding="+encoding); nBytes = rfb.readU32(); System.out.println("nBytes="+nBytes); rfb.reset(); - if(nBytes > 0){//0より大きい(データがある)ときデータを転送 + if(nBytes > 0 & encoding == 16){//0より大きい(データがある)ときデータを転送 rfb.buffer = ByteBuffer.allocate(len); //使ってない rfb.mark(nBytes+20); @@ -489,7 +490,7 @@ int rx = rfb.updateRectX, ry = rfb.updateRectY; int rw = rfb.updateRectW, rh = rfb.updateRectH; - if(rfb.TEST){ + if(rfb.MYVNC){ System.out.println("updateRectEncoding="+rfb.updateRectEncoding); } @@ -1015,7 +1016,7 @@ } int readPixel(InStream is) throws Exception { - int pix;, + int pix; if (bytesPixel == 1) {