From 49c64b4426d873cd5efc7cc724abe8580060c4b5 Mon Sep 17 00:00:00 2001 From: ranchuan Date: Wed, 9 Oct 2024 19:31:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=92=E6=96=A5=E9=94=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- target_client.py | 7 +++++++ target_server.py | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/target_client.py b/target_client.py index 32ed35f..169f3c2 100644 --- a/target_client.py +++ b/target_client.py @@ -30,6 +30,7 @@ _local_server=None +_local_client_lock = threading.Lock() @@ -46,19 +47,25 @@ def send_to(ip,port,data:bytearray): # 关闭指定地址的端口 def close(ip,port): global _local_client + global _local_client_lock + _local_client_lock.acquire() for item in _local_client: if(item[1]==ip and item[2]==port): myprint(f'断开连接 {ip}:{port}') item[0].close() _local_client.remove(item) break + _local_client_lock.release() # 关闭所有 def close_all(): global _local_client + global _local_client_lock + _local_client_lock.acquire() for item in _local_client: item[0].close() _local_client=[] + _local_client_lock.release() myprint('连接列表已清空') diff --git a/target_server.py b/target_server.py index bed442f..427e071 100644 --- a/target_server.py +++ b/target_server.py @@ -38,7 +38,7 @@ LOCAL_SERVER_IP = ("192.168.1.40",22) - +_local_client_lock = threading.Lock() # 发送数据到指定ip地址和端口 @@ -51,6 +51,8 @@ def send_to(ip,port,data:bytearray): # 关闭指定地址的端口 def close(ip,port): global _local_client + global _local_client_lock + _local_client_lock.acquire() for item in _local_client: if(item[1]==ip and item[2]==port): myprint(f"断开连接 {ip}:{port}") @@ -58,14 +60,18 @@ def close(ip,port): # 删除已被关闭的条目 _local_client.remove(item) break + _local_client_lock.release() # 关闭所有 def close_all(): global _local_client + global _local_client_lock + _local_client_lock.acquire() for item in _local_client: item[0].close() # 关闭端口之后把列表置空 _local_client=[] + _local_client_lock.release() myprint('连接列表已清空')