From 76fce28d011a035667333f6b72e06b973604e107 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Mon, 3 Feb 2014 11:54:04 -0800 Subject: [PATCH] #518: Close connection on end-of-stream. --- .../websocket/jetty/GuacamoleWebSocketTunnelServlet.java | 6 ++++++ .../websocket/tomcat/GuacamoleWebSocketTunnelServlet.java | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/jetty/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/jetty/GuacamoleWebSocketTunnelServlet.java index 7e5692f49..fcd292be8 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/jetty/GuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/jetty/GuacamoleWebSocketTunnelServlet.java @@ -101,6 +101,8 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { try { try { + + // Attempt to read while ((readMessage = reader.read()) != null) { // Buffer message @@ -113,6 +115,10 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { } } + + // No more data + connection.close(1001, null); // Shutdown + } // Catch any thrown guacamole exception and attempt diff --git a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java index b774a2a17..58c5b2f20 100644 --- a/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java +++ b/guacamole/src/main/java/org/glyptodon/guacamole/net/basic/websocket/tomcat/GuacamoleWebSocketTunnelServlet.java @@ -111,8 +111,9 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { try { - // Attempt to read try { + + // Attempt to read while ((readMessage = reader.read()) != null) { // Buffer message @@ -125,6 +126,10 @@ public abstract class GuacamoleWebSocketTunnelServlet extends WebSocketServlet { } } + + // No more data + outbound.close(Constants.STATUS_SHUTDOWN, null); + } // Catch any thrown guacamole exception and attempt