comparison src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 522:6677ce2c7017

stop frame buffer multicast listenner
author mir3636
date Fri, 22 Feb 2019 19:53:15 +0900
parents 3a9dadc8821f
children ef2f70aee45a
comparison
equal deleted inserted replaced
521:3fc0fedbc3fd 522:6677ce2c7017
139 case SERVER_CUT_TEXT: 139 case SERVER_CUT_TEXT:
140 logger.fine("Server message: CutText (3)"); 140 logger.fine("Server message: CutText (3)");
141 serverCutText(); 141 serverCutText();
142 break; 142 break;
143 default: 143 default:
144 logger.severe("Unsupported server message. Id = " + messageId); 144 logger.fine("Unsupported server message. Id = " + messageId);
145 continue;
145 } 146 }
146 } catch (TransportException e) { 147 } catch (TransportException e) {
147 System.out.println(e.getMessage()); 148 System.out.println(e.getMessage());
148 System.out.println(e.getCause().getClass().getSimpleName()); 149 System.out.println(e.getCause().getClass().getSimpleName());
149 if (e.getCause().getClass().getSimpleName().equals("SocketTimeoutException")) { 150 if (e.getCause().getClass().getSimpleName().equals("SocketTimeoutException")) {
241 public void framebufferUpdateMessage() throws Exception { 242 public void framebufferUpdateMessage() throws Exception {
242 243
243 try { 244 try {
244 reader.readByte(); // padding 245 reader.readByte(); // padding
245 this.numberOfRectangles = reader.readUInt16(); 246 this.numberOfRectangles = reader.readUInt16();
246 if(numberOfRectangles != 1) 247 if(numberOfRectangles > 2) {
247 System.out.println("numberofrectangle : " + numberOfRectangles); 248 System.out.println("numberofrectangle : " + numberOfRectangles);
249 if (rfb.getViewer().getUseMulticast()){
250
251 return; // Discard invalid packet
252 }
253 }
248 while (numberOfRectangles-- > 0) { 254 while (numberOfRectangles-- > 0) {
249 FramebufferUpdateRectangle rect = new FramebufferUpdateRectangle(); 255 FramebufferUpdateRectangle rect = new FramebufferUpdateRectangle();
250 rect.fill(reader); 256 rect.fill(reader);
251 Decoder decoder = decoders.getDecoderByType(rect.getEncodingType()); 257 Decoder decoder = decoders.getDecoderByType(rect.getEncodingType());
252 logger.finest(rect.toString() + (0 == numberOfRectangles ? "\n---" : "")); 258 logger.finest(rect.toString() + (0 == numberOfRectangles ? "\n---" : ""));