int Socket::init() { rpc_socket(); set_reuse_port(); rpc_bind(); rpc_listen(); return 0; }
//----------------------------------------------------------------------------- bool CySocket::listen(int port, int max_connections) { if (sock == INVALID_SOCKET) return false; // set sockaddr for listening sockaddr_in sai; memset(&sai, 0, sizeof(sai)); sai.sin_family = AF_INET; // Protocol sai.sin_addr.s_addr = htonl(INADDR_ANY); // No Filter sai.sin_port = htons(port); // Listening Port set_reuse_port(); // Re-Use Port set_reuse_addr(); // Re-Use IP if (bind(sock, (sockaddr *) &sai, sizeof(sockaddr_in)) != SOCKET_ERROR) if (::listen(sock, max_connections) == 0) return true; return false; }