/* Main program -------------------------------------------------------------*/
int main(int argc, char *argv[]) {

    pthread_t *listen_threads;  /* Server threads that accept new clients */

    /* Initialize the server */
    if (server_initialize() != 0) {
        fprintf(stderr, "Could not initialize server\n");
        exit(EXIT_FAILURE);
    }

    /* Launch the two listener threads */
    if ((listen_threads = launch_listen_threads()) == NULL) {
        fprintf(stderr, "Could launch listen threads\n");
        exit(EXIT_FAILURE);
    }

    /* Join with the two listener threads, then exit */
    void *rc;
    for (int i = 0; i < 2; i++) {
        if (pthread_join(listen_threads[i], &rc) != 0) {
            fprintf(stderr, "Could not join thread\n");
            exit(EXIT_FAILURE);
        }
    }

    sleep(1);
    free(listen_threads);
    return EXIT_SUCCESS;
}
Exemple #2
0
int main(int argc, char** argv)
{
	uv_loop_t* loop;

	loop = uv_default_loop();

	server_initialize(loop, &_server);
	server_start(&_server);

	fprintf(stderr, "socket-server starts...\n");
	uv_run(loop);

	server_destroy(&_server);

	return 0;
}
Exemple #3
0
Fichier : app.c Projet : rzel/dim3
bool app_start(char *err_str)
{
		// initialize timing

	game_time_initialize();
	
		// physics ray tracing
		
	if (!ray_trace_initialize(err_str)) return(FALSE);
	
		// OS network initialization
		
	net_initialize();
	
		// read setup preferences
		
	setup_xml_read();
	
		// client network defaults
		
	net_setup.mode=net_mode_none;
	
		// initialize server
		
	if (!server_initialize(err_str)) return(FALSE);

		// initialize view
		// if not running in dedicated host mode
	
	if (!app.dedicated_host) {

		if (!view_initialize(err_str)) {
			server_shutdown();
			return(FALSE);
		}

		console_initialize();
	}

	return(TRUE);
}
Exemple #4
0
/**
 * Server example for libQuickFT
 * 
 * @param argc
 * @param argv
 * @return 
 */
int main(int argc, char *argv[]) {

  int port            = 2332;
  int max_connections = 256;
  int timeout         = 60;

  int opt;

  //
  // Parameters parsing
  // 
  struct option long_options[] = {
      {"help",        no_argument,        0,  'h' },
      {"port",        required_argument,  0,  'p' }, // port to listen on
      {"maxconn",     required_argument,  0,  'm' }, // max. connections supoerted by the server
      {"timeout",     required_argument,  0,  't' }, // timeout for messages, can be 0 for default
      {0,             0,                  0,  0   }
  };
  int option_index = 0;
  int value;

  opterr = 0;
  while ((opt = getopt_long(argc, argv, "hp:m:t:", long_options, &option_index)) != -1) {

    value = 0;
    if (optarg != 0x00)
      value = atoi(optarg);

    switch (opt)
    {
      case 'p':
        if (value != 0) port = value;
        break;

      case 'm':
        if (value != 0) max_connections = value;
        break;
      
      case 't':
        if (value != 0) timeout = value;
        break;

      case 'h':
        printf("usage: server -p [--port]: specifies port to listen on.\n");
        printf("              -m [--maxconn]: max. simultaneous connections.\n");
        printf("              -t [--timeout] timeout for messages, 0 for default.\n");
        printf("              -h [--help] displays this instructions.\n");
        printf("\n");
        return 0;

      case '?':
      default:
        printf("Invalid parameters. Type server --help for usage.\n");
        return 1;
    }
  }

  //
  // Initializes server
  //

  SERVER_T * server = NULL;

  printf("Initializing server on port %d...\n", port);
  server = server_initialize(port, max_connections, timeout*1000, &logger);

  if (server != NULL) {

    puts("[OK] ...server listening. Press Enter key to end.");

  } else {
    puts("[FAIL] ...could not initialize server.");
    return 1;
  }
  getchar();

  server_finalize(&server);
  puts("Server finalized.");

  return 0;
}