Commit ad7c59ea authored by ibuler's avatar ibuler

[Bugfix] 修复关闭web terminal tab 关闭session bug

parent d9a86116
...@@ -98,9 +98,9 @@ class SSHws(Namespace, BaseWebSocketHandler): ...@@ -98,9 +98,9 @@ class SSHws(Namespace, BaseWebSocketHandler):
self.clients[request.sid]["proxy"][connection] = WSProxy(self, child, self.clients[request.sid]["room"], self.clients[request.sid]["proxy"][connection] = WSProxy(self, child, self.clients[request.sid]["room"],
connection) connection)
self.app.clients.append(self.clients[request.sid]["client"][connection]) self.app.clients.append(self.clients[request.sid]["client"][connection])
self.clients[request.sid]["forwarder"][connection] = ProxyServer(self.app, self.clients[request.sid]["forwarder"][connection] = ProxyServer(
self.clients[request.sid]["client"][ self.app, self.clients[request.sid]["client"][connection]
connection]) )
self.socketio.start_background_task(self.clients[request.sid]["forwarder"][connection].proxy, asset, self.socketio.start_background_task(self.clients[request.sid]["forwarder"][connection].proxy, asset,
system_user) system_user)
...@@ -138,7 +138,7 @@ class SSHws(Namespace, BaseWebSocketHandler): ...@@ -138,7 +138,7 @@ class SSHws(Namespace, BaseWebSocketHandler):
self.on_leave(self.clients[request.sid]["room"]) self.on_leave(self.clients[request.sid]["room"])
try: try:
for connection in self.clients[request.sid]["client"]: for connection in self.clients[request.sid]["client"]:
self.clients[request.sid]["client"][connection].close() self.on_logout(connection)
del self.clients[request.sid] del self.clients[request.sid]
except: except:
pass pass
...@@ -146,7 +146,7 @@ class SSHws(Namespace, BaseWebSocketHandler): ...@@ -146,7 +146,7 @@ class SSHws(Namespace, BaseWebSocketHandler):
pass pass
def on_logout(self, connection): def on_logout(self, connection):
print("logout", connection) logger.debug("{} logout".format(connection))
if connection: if connection:
self.clients[request.sid]["proxy"][connection].close() self.clients[request.sid]["proxy"][connection].close()
del self.clients[request.sid]["proxy"][connection] del self.clients[request.sid]["proxy"][connection]
......
...@@ -225,3 +225,4 @@ class WSProxy: ...@@ -225,3 +225,4 @@ class WSProxy:
def close(self): def close(self):
self.stop_event.set() self.stop_event.set()
self.child.close() self.child.close()
logger.debug("Proxy {} closed".format(self))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment