diff options
Diffstat (limited to 'src/server.cpp')
| -rw-r--r-- | src/server.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server.cpp b/src/server.cpp index c027e1a..39dd320 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -9,6 +9,10 @@ CServer::CServer(uint16_t port) if (!m_sockfd.isValid()) throw std::runtime_error("Failed to create socket"); + int reuse = 1; + if (setsockopt(m_sockfd.get(), SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)) < 0) + std::println(stderr, "setsockopt(SO_REUSEADDR) failed"); + memset(&m_addr, 0, sizeof(m_addr)); m_addr.sin_family = AF_INET; m_addr.sin_port = htons(port); @@ -16,7 +20,6 @@ CServer::CServer(uint16_t port) m_dBind = bind(m_sockfd.get(), reinterpret_cast<sockaddr *>(&m_addr), sizeof(m_addr)); m_dListen = listen(m_sockfd.get(), 5); m_dBind < 0 || m_dListen < 0 ? throw std::runtime_error("Failed to bind or listen") : std::println("Server started on port: {}", port); - }; CServer::~CServer() { |
