取消Tcp服务阻塞式接收数据

This commit is contained in:
CHAMPION923
2025-06-04 09:47:20 +08:00
parent 5348222fac
commit 268d0d6993

View File

@@ -1,5 +1,7 @@
import socket import socket
from open3d import re
class TcpServer: class TcpServer:
def __init__(self, host="0.0.0.0", port=65444) -> None: def __init__(self, host="0.0.0.0", port=65444) -> None:
@@ -12,11 +14,15 @@ class TcpServer:
def accept_client(self): def accept_client(self):
self.conn, self.addr = self.sock.accept() self.conn, self.addr = self.sock.accept()
self.conn.setblocking(False)
print(f"Connected by {self.addr}") print(f"Connected by {self.addr}")
def recv_data(self, bufsize=4096): def recv_data(self, bufsize=4096):
data = self.conn.recv(bufsize) try:
return data data = self.conn.recv(bufsize)
return data
except BlockingIOError:
return ""
def send_data(self, data: bytes): def send_data(self, data: bytes):
self.conn.sendall(data) self.conn.sendall(data)