server04 passed

This commit is contained in:
2025-07-30 21:59:33 +01:00
parent d7ca392e49
commit a72cceca00
3 changed files with 31 additions and 17 deletions

View File

@@ -4,16 +4,18 @@ import time
import random
from typing import Optional, Dict, List, Tuple
class DatabaseTestClient:
def __init__(self, host: str = 'localhost', server_port: int = 40000):
self.host = host
self.server_port = server_port
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM )
self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# Bind to any available interface (empty string) on an ephemeral port (0)
self.sock.bind(('', 0))
self.sock.bind(('0.0.0.0', 50000))
# Get the actual port assigned
self.client_port = self.sock.getsockname()[1]
self.sock.settimeout(1.0) # 1 second timeout for receives
self.sock.settimeout(5.0) # 1 second timeout for receives
print(f"Client bound to port {self.client_port}")
def send_insert(self, key: str, value: str) -> None:
@@ -30,7 +32,7 @@ class DatabaseTestClient:
self.sock.sendto(key.encode(), (self.host, self.server_port))
try:
data, addr = self.sock.recvfrom(1000) # Changed from recvmsg to recvfrom
data, addr = self.sock.recvfrom(1024) # Changed from recvmsg to recvfrom
return data.decode()
except socket.timeout:
return None