diff src/myVncProxy/MyRfbProto.java @ 162:13458f88d8c9

add RequestScreenThread.java
author e085711
date Wed, 12 Oct 2011 06:45:04 +0900
parents 1c0af90f7f59
children 107b965effc1 3c055da4d050
line wrap: on
line diff
--- a/src/myVncProxy/MyRfbProto.java	Wed Oct 12 02:52:13 2011 +0900
+++ b/src/myVncProxy/MyRfbProto.java	Wed Oct 12 06:45:04 2011 +0900
@@ -71,6 +71,9 @@
 	private Inflater inflater = new Inflater();
 	private Deflater deflater = new Deflater();
 	private CreateThread geth;
+//	private Thread requestThread;
+	private RequestScreenThread rThread;
+	private Thread requestThread;
 	
 	public
 	MyRfbProto() throws IOException {
@@ -78,18 +81,30 @@
 	
 	MyRfbProto(String h, int p, VncViewer v) throws IOException {
 		super(h, p, v);
+
+		rThread = new RequestScreenThread(this); 
+		requestThread = new Thread(rThread);
+//		requestThread = new Thread(new RequestScreenThread(this));
 	}
 
 	MyRfbProto(String h, int p, CreateThread geth) throws IOException {
 		super(h, p);
 		this.geth = geth;
 		proxyFlag = true;
+
+		rThread = new RequestScreenThread(this); 
+		requestThread = new Thread(rThread);
+//		requestThread = new Thread(new RequestScreenThread(this));
 	}
 	
 	MyRfbProto(String h, int p) throws IOException {
 		super(h, p);
+
+		rThread = new RequestScreenThread(this); 
+		requestThread = new Thread(rThread);
+//		requestThread = new Thread(new RequestScreenThread(this));
 	}
-
+	
 	// over write
 	void writeVersionMsg() throws IOException {
 		clientMajor = 3;
@@ -514,6 +529,15 @@
 		
 		new Thread(stdin).start();
 	}
+	
+	void requestThreadStart() {
+		requestThread.start();
+	}
+
+	public synchronized void requestThreadNotify() {
+		rThread.reStart();
+	}
+	
 
 	/**
 	 * gzip byte arrays
@@ -762,7 +786,8 @@
 					readClientInit(is);
 					sendInitData(os);
 					new Thread(reader).start(); // discard incoming packet here after.
-					writeFramebufferUpdateRequest(0,0, framebufferWidth, framebufferHeight, false );
+//					writeFramebufferUpdateRequest(0,0, framebufferWidth, framebufferHeight, false );
+					requestThreadNotify();
 					for (;;) {
 						LinkedList<ByteBuffer> bufs = c.poll();
 						int inputIndex = 0;