async def post(self): post_data = self.request.body.decode('utf-8') post_data = json.loads(post_data) containerIP = str( sh.docker("inspect", "-f", "{{.NetworkSettings.IPAddress}}", str(post_data["proID"]) + post_data["usrID"])).replace( '\n', '').replace('\r', '') token = projectHandler.ip_search[containerIP] del projectHandler.ip_search[containerIP] del projectHandler.ip_map[token] # print(post_data) if post_data["exec"] == "exit1": send_data = docker_commands.exit1(post_data["usrID"], str(post_data["proID"])) ws = docker_websocketHandler.clients[post_data["usrID"]] del docker_websocketHandler.clients[post_data["usrID"]] ws.close() elif post_data["exec"] == "exit2": send_data = docker_commands.exit2(post_data["usrID"], str(post_data["proID"])) ws = docker_websocketHandler.clients[post_data["usrID"]] del docker_websocketHandler.clients[post_data["usrID"]] ws.close() openHandler.password[post_data["usrID"]] = 0 else: send_data = {"error": "no such execution"} self.write(json.dumps(send_data))
def on_close(self): try: #关闭连接后删除计时任务 self.timer.remove() self.loop.remove_handler(self.fd) self.trans.close() # print("websocket closed") except: # print("token test failed") pass try: if self.id[0] in docker_websocketHandler.clients: docker_commands.exit1(self.id[0], self.id[1]) del docker_websocketHandler.clients[self.id[0]] except: pass
async def post(self): post_data = self.request.body.decode('utf-8') post_data = json.loads(post_data) # print(post_data) if post_data["exec"] == "exit1": send_data = docker_commands.exit1(post_data["usrID"],str(post_data["proID"])) ws = docker_websocketHandler.clients[post_data["usrID"]] del docker_websocketHandler.clients[post_data["usrID"]] ws.close() elif post_data["exec"] == "exit2": send_data = docker_commands.exit2(post_data["usrID"], str(post_data["proID"])) ws = docker_websocketHandler.clients[post_data["usrID"]] del docker_websocketHandler.clients[post_data["usrID"]] ws.close() else: send_data = {"error": "no such execution"} self.write(json.dumps(send_data))