FIX: _pick_port bo SO_REUSEADDR — Windows cho phep bind trung port -> 2 engine cung 8000 -> UI loi ngau nhien

This commit is contained in:
2026-08-09 08:50:08 +00:00
parent 6eef16edc0
commit 6e962dc1b2
+4 -1
View File
@@ -18,7 +18,10 @@ APP_DATA_DIR_NAME = "SonicForgeDAW"
def _pick_port(): def _pick_port():
for port in range(PORT_RANGE[0], PORT_RANGE[1] + 1): for port in range(PORT_RANGE[0], PORT_RANGE[1] + 1):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # KHONG dung SO_REUSEADDR: tren Windows no CHO PHEP bind trung port
# (2 engine cung 8000 -> request roi vao engine ngau nhien -> UI loi).
# Listen socket khong can SO_REUSEADDR (TIME_WAIT chi ap dung cho
# connection socket, khong phai listen socket).
try: try:
s.bind(("127.0.0.1", port)) s.bind(("127.0.0.1", port))
return port return port