mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 05:07:41 +00:00
No session creation in InstructionStream, made connect syncronous to avoid current session race
This commit is contained in:
@@ -32,16 +32,9 @@ import net.sourceforge.guacamole.net.GuacamoleSession;
|
||||
|
||||
public class InstructionStream extends GuacamoleServlet {
|
||||
|
||||
protected boolean shouldCreateSession() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleRequest(GuacamoleSession session, HttpServletRequest request, HttpServletResponse response) throws GuacamoleException {
|
||||
|
||||
if (!session.isConnected())
|
||||
session.connect();
|
||||
|
||||
ReentrantLock instructionStreamLock = session.getInstructionStreamLock();
|
||||
instructionStreamLock.lock();
|
||||
|
||||
|
@@ -559,10 +559,18 @@ function VNCClient(display) {
|
||||
|
||||
this.connect = function() {
|
||||
|
||||
// Attempt connection
|
||||
setState(STATE_CONNECTING);
|
||||
sendMessage("connect;"); // Start new guacamole session
|
||||
var message = "connect;";
|
||||
|
||||
setState(STATE_CONNECTING);
|
||||
|
||||
// Send connect message (synchronously... as necessary until handoff is implemented)
|
||||
var connect_xmlhttprequest = new XMLHttpRequest();
|
||||
connect_xmlhttprequest.open("POST", "inbound", false);
|
||||
connect_xmlhttprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
connect_xmlhttprequest.setRequestHeader("Content-length", message.length);
|
||||
connect_xmlhttprequest.send(message);
|
||||
|
||||
// Start reading data
|
||||
setState(STATE_WAITING);
|
||||
handleResponse(makeRequest());
|
||||
|
||||
|
Reference in New Issue
Block a user