Ejemplo n.º 1
0
/**
 * 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;
}
Ejemplo n.º 3
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;
}