SOCKET Socket::Data::AcceptRaw(dword *ipaddr, int timeout_msec) { ASSERT(IsOpen()); if(!Peek(timeout_msec, false)) return INVALID_SOCKET; sockaddr_in addr; Zero(addr); socklen_t addr_len = sizeof(addr); // puts("Socket::Accept: accepting socket..."); SOCKET connection = accept(socket, (sockaddr *)&addr, &addr_len); if(connection == INVALID_SOCKET) { SetSockError("accept"); return INVALID_SOCKET; } // puts("Socket::Accept: socket accepted..."); dword ip = ntohl(addr.sin_addr.s_addr); if(ipaddr) *ipaddr = ip; SLOG("Socket::Accept() -> " << (int)connection << " &" << FormatIP(ip)); return connection; }
Report message to a moderator