Mercurial > hg > Applications > TreeVNC
diff src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 414:3af5f4af2d63
Send data size for checkDelay
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 24 Nov 2015 02:18:51 +0900 |
parents | 372532ae5f4d |
children | 5c3635d6ab3c |
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Thu Nov 19 17:18:23 2015 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java Tue Nov 24 02:18:51 2015 +0900 @@ -135,7 +135,7 @@ reader.mark(20+8+4); getLost(reader); //check seq consistency } else { - reader.mark(20); + reader.mark(20+8); } byte messageId = reader.readByte(); @@ -328,11 +328,14 @@ } else if (rect.getEncodingType() == EncodingType.CHECK_DELAY) { int checkDelaySize = 24; - reader.reset(); - rfb.readSendData(checkDelaySize, reader, null, rect); int port = rfb.acceptPort; String address = rfb.getMyAddress(); - sendCheckDelayReply(rect.time, port, address); + int dataLen = reader.readInt32(); + sendCheckDelayReply(rect.time, port, address, dataLen); + reader.reset(); + reader.readBytes(24); + decoder = decoders.getDecoderByType(EncodingType.ZRLEE); + decoder.decode(reader, renderer, rect); // TreeVNC processing here } else if (rect.getEncodingType() == EncodingType.SOUND) { // SOUNDを受信した時の処理を } else if (rect.getEncodingType() == EncodingType.ERROR_ANNOUNCE) { @@ -374,8 +377,8 @@ } } - private void sendCheckDelayReply(long time, int port, String address) throws UnsupportedEncodingException { - context.sendMessage(new CheckDelayReply(time, port, address)); + private void sendCheckDelayReply(long time, int port, String address, int dataLen) throws UnsupportedEncodingException { + context.sendMessage(new CheckDelayReply(time, port, address, dataLen)); } public synchronized void queueUpdatePixelFormat(PixelFormat pf) {