Example #1
0
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;	
}
Example #2
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();
}