From 9cb72a6ba7c3e7b102368243d9fb180329ac660e Mon Sep 17 00:00:00 2001 From: Chris Miles Date: Wed, 12 Mar 2025 00:52:17 -0500 Subject: [PATCH] [Networking] Fix "port in use" error (#4772) --- common/ip_util.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/common/ip_util.cpp b/common/ip_util.cpp index 1a4701c64..df4abcfc0 100644 --- a/common/ip_util.cpp +++ b/common/ip_util.cpp @@ -303,6 +303,14 @@ bool IpUtil::IsPortInUse(const std::string& ip, int port) { return true; // Assume in use on failure } +#ifdef _WIN32 + int opt = 1; + setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (char*)&opt, sizeof(opt)); // Windows-specific +#else + int opt = 1; + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); // Linux/macOS +#endif + sockaddr_in addr{}; addr.sin_family = AF_INET; addr.sin_port = htons(port);