diff src/myVncClient/MyRfbProto.java @ 65:4225c2fd3e16

modify CuiMyVncClient.java
author e085711
date Fri, 05 Aug 2011 19:46:51 +0900
parents 18a19d8a09f4
children 5e7110277cf0
line wrap: on
line diff
--- a/src/myVncClient/MyRfbProto.java	Fri Aug 05 17:26:45 2011 +0900
+++ b/src/myVncClient/MyRfbProto.java	Fri Aug 05 19:46:51 2011 +0900
@@ -3,10 +3,12 @@
 import java.awt.Graphics;
 import java.awt.Image;
 import java.awt.image.BufferedImage;
+import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -60,6 +62,7 @@
 
 	byte[] pngBytes;
 
+
 	// private MulticastQueue<LinkedList<ByteBuffer>> multicastqueue = new MostRecentMultiCast<LinkedList<ByteBuffer>>(10);
 	private MulticastQueue<LinkedList<ByteBuffer>> multicastqueue = new MulticastQueue<LinkedList<ByteBuffer>>();
 	private int clients = 0;
@@ -84,7 +87,8 @@
 		// executor = Executors.newCachedThreadPool();
 		// executor = Executors.newSingleThreadExecutor();
 	}
-
+	
+	
 	// over write
 	void writeVersionMsg() throws IOException {
 		clientMajor = 3;
@@ -301,7 +305,7 @@
 		rectW = readU16();           //  8
 		rectH = readU16();           //  10
 		encoding = readU32();      //   12
-		System.out.println("encoding = "+encoding);
+		//		System.out.println("encoding = "+encoding);
 		if (encoding == EncodingZRLE)
 			zLen = readU32();
 		else
@@ -703,6 +707,14 @@
 								   os.write(out.array(),out.position(),out.limit());
 								}
 							}
+							if (encoding==RfbProto.EncodingRaw) {
+								LinkedList<ByteBuffer> outs = bufs;
+								inputIndex = 0;
+								while( inputIndex < outs.size()){
+									ByteBuffer out = outs.get(inputIndex++);
+									os.write(out.array(), out.position(), out.limit());
+								}
+							}
 							os.flush();
 							continue;
 						}