Ejemplo n.º 1
0
 int Socket::init() {
     rpc_socket();
     set_reuse_port();
     rpc_bind();
     rpc_listen();
     return 0;
 }
Ejemplo n.º 2
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;
}