# HG changeset patch # User e085711 # Date 1302859836 -32400 # Node ID cdf97aa9a8d74f558727c4d7836976a3a5b16e54 # Parent f32b7f4ff44115528d202f5abf9db235a45890a1 update version0.1 diff -r f32b7f4ff441 -r cdf97aa9a8d7 src/VncCanvas.java --- a/src/VncCanvas.java Fri Apr 15 17:22:26 2011 +0900 +++ b/src/VncCanvas.java Fri Apr 15 18:30:36 2011 +0900 @@ -383,28 +383,30 @@ if (rfb.MYVNC) { System.out.println("\ncount=" + count); + int skiplen; + if (count > 0) + skiplen = rfb.rnBytes + 20; + + int nBytes = 0; + rfb.mark(20); + int msgType = rfb.readU8(); + System.out.println("msgType=" + msgType); + + rfb.skipBytes(11); + int encoding = rfb.readU32(); + System.out.println("encoding=" + encoding); + nBytes = rfb.readU32(); + System.out.println("nBytes=" + nBytes); + rfb.reset(); + int len = rfb.available(); System.out.println("rfb.available()=" + len); - int skiplen = 0; if (len > 0) { - if (count > 0) - skiplen = rfb.rnBytes + 20; - int nBytes = 0; - rfb.mark(20); - int msgType = rfb.readU8(); - System.out.println("msgType=" + msgType); - - 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 & encoding == 16) {// 0より大きい(データがある)ときデータを転送 - rfb.buffer = ByteBuffer.allocate(len); // 使ってない + rfb.buffer = ByteBuffer.allocate(len+1); // 使ってない rfb.mark(nBytes + 20); @@ -432,7 +434,6 @@ } } count++; - Thread.sleep(1000); // Read message type from the server. int msgType = rfb.readServerMessageType();