Files
hirres_tractor_vision/lib/tcp/tcp_server.py
2025-06-04 09:51:50 +08:00

31 lines
865 B
Python

import socket
class TcpServer:
def __init__(self, host="0.0.0.0", port=65444) -> None:
self.host = host
self.port = port
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.bind((self.host, self.port))
self.sock.listen(1) # 允许最多一个连接(可改大)
print(f"Listening on {self.host}:{self.port}")
def accept_client(self):
self.conn, self.addr = self.sock.accept()
self.conn.setblocking(False)
print(f"Connected by {self.addr}")
def recv_data(self, bufsize=4096):
try:
data = self.conn.recv(bufsize)
return data
except BlockingIOError:
return ""
def send_data(self, data: bytes):
self.conn.sendall(data)
def close(self):
self.conn.close()
self.sock.close()