# HG changeset patch # User oc # Date 1422772217 -32400 # Node ID 1d4d5055a288ab059c9e6d4defb77bc1ed3e6b1f # Parent cc9d33208f34ea38bf4b413dcd18dbc665037c6a add error message, add assure stream close. diff -r cc9d33208f34 -r 1d4d5055a288 src/main/java/com/glavsoft/rfb/encoding/decoder/DecodersContainer.java --- a/src/main/java/com/glavsoft/rfb/encoding/decoder/DecodersContainer.java Sun Feb 01 06:44:56 2015 +0900 +++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/DecodersContainer.java Sun Feb 01 15:30:17 2015 +0900 @@ -67,15 +67,17 @@ decoders.put(enc, knownDecoders.get(enc).newInstance()); } catch (InstantiationException e) { logError(enc, e); + System.out.println("cannot create decoders instance."); } catch (IllegalAccessException e) { logError(enc, e); + System.out.println("cannot access class or constructor."); } } } } private void logError(EncodingType enc, Exception e) { - Logger.getLogger(this.getClass().getName()).severe("Can not instantiate decoder for encoding type '" + + Logger.getLogger(this.getClass().getName()).severe("Cannot instantiate decoder for encoding type '" + enc.getName() + "' " + e.getMessage()); } diff -r cc9d33208f34 -r 1d4d5055a288 src/main/java/com/glavsoft/rfb/encoding/decoder/ZlibDecoder.java --- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZlibDecoder.java Sun Feb 01 06:44:56 2015 +0900 +++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZlibDecoder.java Sun Feb 01 15:30:17 2015 +0900 @@ -30,13 +30,14 @@ import com.glavsoft.transport.Reader; import java.io.ByteArrayInputStream; +import java.util.logging.Logger; import java.util.zip.DataFormatException; import java.util.zip.Inflater; public class ZlibDecoder extends Decoder { private Inflater decoder; - @Override + @Override public void decode(Reader reader, Renderer renderer, FramebufferUpdateRectangle rect) throws TransportException { int zippedLength = (int) reader.readUInt32(); diff -r cc9d33208f34 -r 1d4d5055a288 src/main/java/com/glavsoft/rfb/protocol/Protocol.java --- a/src/main/java/com/glavsoft/rfb/protocol/Protocol.java Sun Feb 01 06:44:56 2015 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/Protocol.java Sun Feb 01 15:30:17 2015 +0900 @@ -302,7 +302,7 @@ try { senderThread.join(); } catch (InterruptedException e) { - // nop + System.out.println("any thread has interrupted the current thread"); } senderTask = null; } @@ -316,7 +316,7 @@ try { receiverThread.join(); } catch (InterruptedException e) { - // nop + System.out.println("any thread has interrupted the current thread"); } receiverTask = null; } diff -r cc9d33208f34 -r 1d4d5055a288 src/main/java/com/glavsoft/rfb/protocol/SenderTask.java --- a/src/main/java/com/glavsoft/rfb/protocol/SenderTask.java Sun Feb 01 06:44:56 2015 +0900 +++ b/src/main/java/com/glavsoft/rfb/protocol/SenderTask.java Sun Feb 01 15:30:17 2015 +0900 @@ -65,14 +65,16 @@ message.send(writer); } } catch (InterruptedException e) { - // nop + System.out.println("cannot get ClientToServerMessage."); } catch (TransportException e) { + System.out.println("cannot send ClientToServerMessage."); Logger.getLogger(getClass().getName()).severe("Close session: " + e.getMessage()); if (isRunning) { protocolContext.cleanUpSession("Connection closed"); } stopTask(); } catch (Throwable te) { + System.out.println("throwable when ClientToServerMessage send or get"); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); te.printStackTrace(pw); diff -r cc9d33208f34 -r 1d4d5055a288 src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java Sun Feb 01 06:44:56 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java Sun Feb 01 15:30:17 2015 +0900 @@ -34,7 +34,7 @@ try { echo.whereToConnect(myHostName,rfb.getAcceptPort()); } catch (IOException e) { - System.out.println("cannot connect to root "+e.getMessage()); + System.out.println("sendWhereToConnect : cannot connect to root "+e.getMessage()); } } diff -r cc9d33208f34 -r 1d4d5055a288 src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncProtocol.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncProtocol.java Sun Feb 01 06:44:56 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/TreeVncProtocol.java Sun Feb 01 15:30:17 2015 +0900 @@ -75,9 +75,13 @@ public void sendCommandToTheRoot(ByteBuffer buf) throws IOException { char[] charBuf = new char[12]; - is.read(charBuf , 0, 12); // skip root's version header - os.write(buf.array(), 0, buf.limit()); // send our command - streamClose(); + try { + is.read(charBuf, 0, 12); // skip root's version header + os.write(buf.array(), 0, buf.limit()); // send our command + } finally { + if(is != null && os != null) + streamClose(); + } } void streamClose() throws IOException { diff -r cc9d33208f34 -r 1d4d5055a288 src/main/java/jp/ac/u_ryukyu/treevnc/VncProxyService.java --- a/src/main/java/jp/ac/u_ryukyu/treevnc/VncProxyService.java Sun Feb 01 06:44:56 2015 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/treevnc/VncProxyService.java Sun Feb 01 15:30:17 2015 +0900 @@ -74,6 +74,7 @@ @Override public void rfbSessionStopped(final String reason) { + System.out.println(reason); } @Override