/* clientmain.c - a client main program running under unix that uses the socket interface to tcp or udp */ /* there are two command line parameters (the second is optional): 1 the port number of the server 2 the name of the node on which the server is running */ #include #include #include #include #include "client.h" int main( int argc, char *argv[] ) { int server_port; /* port number of server */ char *server_node; /* name of server's node */ /* there must be at least one command line argument */ if( argc <= 1 ) { fprintf(stderr, "usage: client server-port [server-node [args]]\n"); exit( EXIT_FAILURE); } argv++; /* point at first parameter */ /* get the server's port number from the required first parameter */ if( (server_port = atoi(*argv)) <= 0 ) { fprintf(stderr, "server-port '%s' must be a positive integer\n", *argv); exit( EXIT_FAILURE); } argv++; /* point at second parameter (if any) */ /* get the server's node name from optional second parameter */ if( argc <= 2 ) server_node = NULL; else server_node = *argv++; /* point at third parameter (if any) */ /* now let the common client do the real work */ client(server_port, server_node, argc-3, argv); exit(EXIT_SUCCESS); }