You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by mike-jumper <gi...@git.apache.org> on 2018/09/07 19:31:25 UTC
[GitHub] guacamole-client pull request #312: GUACAMOLE-567: Add specific connection s...
GitHub user mike-jumper opened a pull request:
https://github.com/apache/guacamole-client/pull/312
GUACAMOLE-567: Add specific connection stability test to tunnel implementations.
This change corrects the behavior of the connection instability detection by adding tunnel-specific tests which are independent of the underlying Guacamole connection. Regardless of whether the remote desktop connection itself is returning data, these tests verify that the server side of the tunnel is reachable and responding.
For the WebSocket tunnel, these tests leverage the reserved opcode for tunnel-specific instructions to send a "ping" message which the tunnel is required to respond to. By sending these messages roughly every 500ms, the client side guarantees that there should always be traffic over the tunnel unless something is interrupting that traffic.
For the HTTP tunnel, these tests leverage the fact that HTTP already has a request/response pattern that is verified via the HTTP protocol. A simple "nop" instruction is sent to the Guacamole server to force the send half of the tunnel to effectively self test. If the server side of the HTTP tunnel fails to properly handle the HTTP request which results from sending an instruction, the tunnel is flagged as unstable.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/mike-jumper/guacamole-client tunnel-stability-test
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/guacamole-client/pull/312.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #312
----
commit fe07cf9b703e2aa9a83ed5ce57e51fe6cb33105d
Author: Michael Jumper <mj...@...>
Date: 2018-09-02T02:19:08Z
GUACAMOLE-567: Move client instability state to own flag. Actual current connection state is lost otherwise.
commit 5825835237fbd3307f7da09b3958d4f458fe8598
Author: Michael Jumper <mj...@...>
Date: 2018-09-02T04:12:10Z
GUACAMOLE-567: Add tunnel isConnected() function. Consider both OPEN and UNSTABLE status as connected.
commit ea0b33bee19123489684549f31c36356fe39c728
Author: Michael Jumper <mj...@...>
Date: 2018-09-07T02:48:33Z
GUACAMOLE-567: Use ping messages specific to the WebSocket tunnel to test connection stability independently of the underlying Guacamole connection.
commit 819d3178343a84af6926d862dc9cf584f9aa80f1
Author: Michael Jumper <mj...@...>
Date: 2018-09-07T02:49:02Z
GUACAMOLE-567: Add support for WebSocket-specific ping messages to the legacy WebSocket tunnel implementations.
commit 34bab9524eb6d1b5e3fa96be7ed2602d71f25dd9
Author: Michael Jumper <mj...@...>
Date: 2018-09-07T02:57:29Z
GUACAMOLE-567: Regularly test connection stability of HTTP tunnel.
Unlike the WebSocket tunnel, where a manual ping request/response must
be explicitly implemented, we can rely on HTTP's own request/response
to verify stability.
----
---
[GitHub] guacamole-client pull request #312: GUACAMOLE-567: Add specific connection s...
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/guacamole-client/pull/312
---