diff --git a/src/Socket.cpp b/src/Socket.cpp index 2e2b487..1d92c65 100644 --- a/src/Socket.cpp +++ b/src/Socket.cpp @@ -51,11 +51,14 @@ int Socket::winListen() } int Socket::winAccept(){ - SOCKET clientSocket = accept(socket.mainSocket, NULL, NULL); - if(clientSocket == INVALID_SOCKET){ - log.err("Accept failed: " + std::to_string(WSAGetLastError())); - continue; + while(Socket::running){ + SOCKET clientSocket = accept(mainSocket, NULL, NULL); + if(clientSocket == INVALID_SOCKET){ + log.err("Accept failed: " + std::to_string(WSAGetLastError())); + continue; + } + log.info("Client connected"); + closesocket(clientSocket); } - log.info("Client connected"); - closesocket(clientSocket); + return 0; } diff --git a/src/Socket.hpp b/src/Socket.hpp index 51d989d..306f2b5 100644 --- a/src/Socket.hpp +++ b/src/Socket.hpp @@ -12,6 +12,8 @@ private: SOCKET mainSocket = INVALID_SOCKET; public: + bool running = false; + int pInit(); int pBind(); int pListen(); diff --git a/src/main.cpp b/src/main.cpp index 256e856..29891be 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,16 +16,8 @@ int main() { socket.winBind(); socket.winListen(); - running = true; - while(running){ - SOCKET clientSocket = accept(socket.mainSocket, NULL, NULL); - if(clientSocket == INVALID_SOCKET){ - log.err("Accept failed: " + std::to_string(WSAGetLastError())); - continue; - } - log.info("Client connected"); - closesocket(clientSocket); - } + socket.running = true; + socket.winAccept(); return 0; }