diff --git a/lib/presenter/presenter.py b/lib/presenter/presenter.py index 7950b43..d30b721 100644 --- a/lib/presenter/presenter.py +++ b/lib/presenter/presenter.py @@ -227,7 +227,8 @@ class Presenter: continue except ConnectionResetError: print("Warring: clietn force disconnect!!! ") - break + server.conn_close() + continue except socket.error as e: print(f"Net Error: {e}") break @@ -271,10 +272,10 @@ class Presenter: print("KeyboardInterrupt (Ctrl+C) shutting down") finally: + server.close() for key in self.process3d_info.keys(): self.process3d_info[key].in_q.put(0) for key in self.process2d_info.keys(): self.process2d_info[key].in_q.put(0) ArenaCamera.shutdown() print("关闭连接") - server.close() diff --git a/lib/tcp/tcp_server.py b/lib/tcp/tcp_server.py index 1011490..b9b9dc6 100644 --- a/lib/tcp/tcp_server.py +++ b/lib/tcp/tcp_server.py @@ -1,3 +1,5 @@ +from _typeshed import Self +from ctypes import set_errno import socket @@ -25,6 +27,8 @@ class TcpServer: def send_data(self, data: bytes): self.conn.sendall(data) - def close(self): + def conn_close(self): self.conn.close() + + def close(self): self.sock.close()