mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
Added "heartbeat" for update throttling.
This commit is contained in:
@@ -61,6 +61,15 @@
|
||||
<servlet-name>Clipboard</servlet-name>
|
||||
<url-pattern>/clipboard</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet>
|
||||
<description>Client "ready-to-receive" heartbeat</description>
|
||||
<servlet-name>Ready</servlet-name>
|
||||
<servlet-class>net.sourceforge.guacamole.net.input.Ready</servlet-class>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Ready</servlet-name>
|
||||
<url-pattern>/ready</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet>
|
||||
<description>Key input servlet.</description>
|
||||
<servlet-name>Key</servlet-name>
|
||||
|
@@ -540,7 +540,27 @@ function VNCClient(display) {
|
||||
handler(parameters);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function sendReady() {
|
||||
|
||||
// Start heartbeat signal
|
||||
var heartbeat = new XMLHttpRequest();
|
||||
heartbeat.open("GET", "ready");
|
||||
|
||||
heartbeat.onreadystatechange = function() {
|
||||
|
||||
if (heartbeat != null && heartbeat.readyState >= 2) {
|
||||
heartbeat = null;
|
||||
setTimeout(sendReady, 50);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
heartbeat.send();
|
||||
|
||||
}
|
||||
|
||||
|
||||
this.connect = function() {
|
||||
|
||||
@@ -555,6 +575,7 @@ function VNCClient(display) {
|
||||
var message = new GuacamoleMessage(connect_xmlhttprequest.responseXML);
|
||||
if (!message.hasErrors()) {
|
||||
setState(STATE_WAITING);
|
||||
sendReady();
|
||||
handleResponse(makeRequest()); // Start stream if connection successful
|
||||
}
|
||||
else
|
||||
|
Reference in New Issue
Block a user