/** * main function * * @param argc 2 * @param argv mode ip-address * @return 0 EXIT_SUCCESS */ int main(int argc, char **argv) { /*Init. Logger*/ cse4589_init_log(argv[2]); /*Clear LOGFILE*/ fclose(fopen(LOGFILE, "w")); /*Start Here*/ if(argc > 1){ if(strcmp(argv[1],"s")==0){ if(atoi(argv[2]) > 1024){ server(argv[1],argv[2]); } else{ printf("Specify unreserved port please\n"); } } else if(strcmp(argv[1],"c")==0){ if(atoi(argv[2]) > 1024){ client(argv[1],argv[2]); } else{ printf("Specify unreserved port please\n"); } } else{ printf("Usage: assignment1 <mode>[s,c] <port>[>1024]\n"); } } else{ printf("Usage: assignment1 <mode>[s,c] <port>[>1024]\n"); } return 0; }
/** * main function * * @param argc Number of arguments * @param argv The argument list * @return 0 EXIT_SUCCESS */ int main(int argc, char **argv) { /* * Declaration of variables Start */ uint8_t numberOfLinesInTopologyFile = 0; uint8_t currentServerID; struct sockaddr_in server_ip; FILE *topologyFile; /* * Declaration of variables End */ /*Init. Logger*/ cse4589_init_log(); /*Clear LOGFILE and DUMPFILE*/ fclose(fopen(LOGFILE, "w")); fclose(fopen(DUMPFILE, "wb")); /*Start Here*/ if (argc == 5) { if (strcmp(argv[1], "-i") == 0) { printf("This is timer\n"); timeOut = atoi(argv[2]); printf("TimeOut value = %d\n", timeOut); if (strcmp(argv[3], "-t") == 0) { printf("This is next param topology file \n"); topologyFile = fopen(argv[4], "r"); } else { printf("Invalid input parameters\n"); } } else if (strcmp(argv[1], "-t") == 0) { printf("This is topology file\n"); topologyFile = fopen(argv[2], "r"); if (strcmp(argv[3], "-i") == 0) { printf("This is next param timer\n"); timeOut = atoi(argv[4]); printf("TimeOut value = %d\n", timeOut); } else { printf("Invalid input parameters\n"); exit(1); } } else { printf("Invalid input parameters\n"); exit(1); } } else { printf("Invalid number of arguments\n"); exit(1); } if (topologyFile != NULL) { fnParseTopologyFile(topologyFile); } else { printf("Error: File %s not found\n", argv[4]); exit(1); } fnUDPListen(myPort); // free(nodeDetails); return 0; }
int main(int argc, char **argv) { int status; char ip_addr[INET_ADDRSTRLEN]; char *service; int server_sock = -1; int exit_flag = 0; int ftp_sock = 9999; fd_set temp; /*Init. Logger*/ #ifndef MY_PC cse4589_init_log(argv[2]); #endif int sock; if(argc<3) { printf("No args\n"); return 1; } if(!validate_port(argv[2])) return 0; FD_ZERO(&wait_fd); FD_ZERO(&temp); FD_SET(0, &wait_fd); tv.tv_sec = 15; tv.tv_usec = 0; if(!strcmp(argv[1], "s")) { is_server = true; } else if(strcmp(argv[1], "c")) { printf("Usage ./sock [s/c]\n"); return 0; } set_listening_port(argv[2]); server_sock = server_start(argv[2]); if(server_sock <=0)return 0; sock = server_sock; add_fd(sock); int i =2; while(!exit_flag) { temp = wait_fd; int ret = select(active_sockets, &temp, NULL, NULL, NULL); if(ret) { if(FD_ISSET(STDIN, &temp)) { exit_flag = parse_shell(); } else if(FD_ISSET(server_sock, &temp)) { // server socket is active, check for new connections if(is_server) { int new_socket = server_accept(server_sock); add_fd(new_socket); } else { int new_socket = server_accept(server_sock); //add ftp socket add_fd(new_socket); ftp_sock = new_socket; } } else if(FD_ISSET(ftp_sock, &temp)) { client_receive_file(&ftp_sock); } else { for(int fd = 3; fd<=active_sockets; fd++) { if(FD_ISSET(fd, &temp)) { if(is_server) server_receive(fd); else client_receive(fd); } } } //End of else } //end of select handling } //end loop clear_fd(sock); close(sock); #ifndef MY_PC fclose(fopen(LOGFILE, "w")); #endif return 0; }