int main(int argc, char *argv[]) { struct ev_loop *loop; struct p2p_client p2pc; if (argc < 3) { fprintf(stderr, "usage: %s <host> <port>\n", argv[0]); return 1; } loop = ev_default_loop(0); if (loop == NULL) return 1; if (p2p_client_init(loop, &p2pc, argv[1], argv[2]) == -1) return 1; ev_run(loop, 0); return 0; }
/*********************************************** Method: main Description: Entry point to client app. Expects a server ip address and a server port to connect to ***********************************************/ int main ( int argc, char * argv[] ) { unsigned short server_port; unsigned short tcp_port; char * server_ip; char * name; /*---------------------------------------- Verify input parameters ----------------------------------------*/ if ( argc != ARG_COUNT ) { print_usage(); } /*---------------------------------------- Extract server IP and Port from args ----------------------------------------*/ server_ip = argv[ARG_SERV_IP]; server_port = atoi(argv[ARG_SERV_PORT]); name = argv[ARG_NAME]; tcp_port = atoi(argv[ARG_TCP]); if( tcp_port <= P2P_PORT_LOW || tcp_port > P2P_PORT_HIGH ) { printf("Invalid tcp port numbers.\n"); print_usage(); } if( server_port != P2P_DIR_SERVER_PORT ) { printf("Invalid server port number.\n"); print_usage(); } if( strlen(name) > UDP_RDT_MAX_HOST_NAME_LEN ) p2p_client_abort("P2P_CLIENT: Bad Host Name Length"); else if( strlen(server_ip) > UDP_RDT_MAX_IPv4_ADDR_LEN ) p2p_client_abort("P2P_CLIENT: Bad IPv4 Address"); /*---------------------------------------- For random numbers ----------------------------------------*/ srand(time(NULL)); /*---------------------------------------- Init the client application ----------------------------------------*/ p2p_client_init( server_port, server_ip, name, tcp_port ); /*---------------------------------------- Run the client application. Note: Execution does not return ----------------------------------------*/ p2p_client_app(); }