当前位置: 首页>>代码示例>>C++>>正文


C++ create_server函数代码示例

本文整理汇总了C++中create_server函数的典型用法代码示例。如果您正苦于以下问题:C++ create_server函数的具体用法?C++ create_server怎么用?C++ create_server使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了create_server函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main (int argc, char **argv)
{
  gsk_init_without_threads (&argc, &argv);

  g_printerr ("TCP/IP server/client... ");
  addr = gsk_socket_address_ipv4_localhost (10306);
  create_server (addr);
  client_count = 0;
  create_client (addr);
  while (!done_test)
    gsk_main_loop_run (gsk_main_loop_default(), -1, NULL);
  g_object_unref (listener);
  listener = NULL;
  g_object_unref (addr);
  addr = NULL;
  g_printerr (" done.\n");

  client_count = 0;
  done_test = FALSE;

  g_printerr ("Local-socket server/client... ");
#define TEST_LOCAL_SOCKET_FNAME	"./test-socket-sc"
  addr = gsk_socket_address_local_new (TEST_LOCAL_SOCKET_FNAME);
  create_server (addr);
  client_count = 0;
  create_client (addr);
  while (!done_test)
    gsk_main_loop_run (gsk_main_loop_default(), -1, NULL);
  g_object_unref (listener);
  g_object_unref (addr);
  g_printerr (" done.\n");

  return 0;
}
开发者ID:davebenson,项目名称:gsk,代码行数:34,代码来源:test-serverclient.c

示例2: server

/*
static struct sigaction sa={
   .sa_handler = SIG_IGN
};
*/
int server(int port, int maxevents)
{
 
  // sigaction(SIGINT, &sa, 0);
  // sigaction(SIGTERM, &sa, 0);  
   
   int srv_fd = -1;
   int epoll_fd = -1;
	reactor* r = 0;
	event_handler* seh = 0;
   
   if((srv_fd=create_server(port,"127.0.0.1")) == -1){
      return -1;
   }
   if((epoll_fd = create_epoll(srv_fd, maxevents)) == -1){
      return -1;
   }
   r = create_reactor(epoll_fd, maxevents);
	seh = create_acceptor(srv_fd, r);
	r->add_eh(r, seh);
   r->event_loop(r);
   
   destroy_reactor(r);
   os_close(srv_fd);
   os_close(epoll_fd);
	return 0;
}
开发者ID:artek744,项目名称:server,代码行数:32,代码来源:server.c

示例3: main

int main()
{
    int listenfd = create_server(2000), connfd, i, pid, ret;
    char line[1000];
    pthread_t tid;
    struct request *r; 

    for (; ;) {
        if ((connfd = accept(listenfd, (struct sockaddr *)NULL, NULL))<0) {
            perror("accept error : ");
            return -1;
        }
        getline(line, connfd);
        if ((ret = validate_request(line, connfd))>0) {
	    r = (struct request *)malloc(sizeof(struct request));
            r->request_t = ret;
            strcpy(r->req, line);
	    r->connfd = connfd;
	    printf("creating thread\n");
            ret = pthread_create(&tid, NULL, handle_request, (void *)r);
	}
        else {
	    close(connfd);
	}
    }
    close(listenfd);
    return 0;
}
开发者ID:jsankararaman,项目名称:p2p,代码行数:28,代码来源:server.c

示例4: main

int			main(int argc, char *argv[])
{
	int					sock;
	int					cs;
	unsigned int		cslen;
	struct sockaddr_in	csin;
	pid_t				pid;

	signal(SIGCHLD, SIG_IGN);
	if (argc != 2)
		usage(argv[0]);
	sock = create_server(ft_atoi(argv[1]));
	while ((cs = accept(sock, (struct sockaddr *)&csin, &cslen)) > 0)
	{
		if ((pid = fork()) == -1)
			return (-1);
		if (pid == 0)
		{
			soon(cs);
			exit(0);
			return (0);
		}
	}
	close(cs);
	close(sock);
	return (0);
}
开发者ID:BenjaminRepingon,项目名称:ft_p,代码行数:27,代码来源:serveur.c

示例5: main

int main(int argc, char* argv[])
{
	int ret;
	// create server
	ret = create_server();
	if(ret != 0)
	{
		printf("create server error\n");
		return -1;
	}

	// send broad cast
	ret = send_broadcast();
	if(ret != 0)
	{
		printf("send broadcast error\n");
		return -2;
	}

	// accept client
	ret = accept_client();
	if(ret != 0)
	{
		printf("accept_client error\n");
		return -3;
	}

	return 0;
}
开发者ID:jiesse,项目名称:Ad-Machine,代码行数:29,代码来源:server_sync.c

示例6: start_server

void start_server(const char *ip, unsigned short port)
{
    //signal(SIGPIPE, SIG_IGN);
    signal(SIGPIPE, sig_handler);
    
    create_sock_list();
    start_timer();

    int err = 0;

    // create a TCP socket, bind and listen
    server_sock = socket(AF_INET, SOCK_STREAM, 0);
    fcntl(server_sock, F_SETFL, O_NONBLOCK);

    struct sockaddr_in addr;
    memset(&addr, 0 , sizeof(addr));
    addr.sin_family = AF_INET;
    //addr.sin_addr.s_addr = htons(INADDR_ANY);
    addr.sin_addr.s_addr = inet_addr(ip);
    addr.sin_port = htons(port);

    err = bind(server_sock, (struct sockaddr *) &addr, sizeof(addr));
    if(err)
    {
	   printf("bind error: %m\n"); 
    }

    listen(server_sock, 10);

    
    g_server = create_server(server_sock);
 

    return 0;
}
开发者ID:cokeboL,项目名称:epoll_server,代码行数:35,代码来源:server.c

示例7: main

int main(int argc , char *argv[])
{
  int socket_desc;
  int * clients = malloc(sizeof(int) * 4);
  char buffer[32] = {0};
  fd_set readfs;
  
  init_soft_war();
  my_actopt(g_tab, 6, argc, argv);
  build_map();
  show_info_server();
  if (soft_war.type == 0)
    {
      socket_desc = create_server(soft_war.port);
      clients = accept_for_clients(socket_desc);
      put_clients_on_map();
      while (1)
	 {
	   select_for_soft_war(clients, &readfs, buffer);
	 }
    }
  else
    {
      play(argc, argv);
    }
  return (0);
}
开发者ID:tsandras,项目名称:soft-war,代码行数:27,代码来源:main.c

示例8: main

int main(int argc, char **argv)
{
	signal(SIGINT, sigstop);
	signal(SIGQUIT, sigstop);
	signal(SIGTERM, sigstop);

	if ((fd_iav = open("/dev/iav", O_RDWR, 0)) < 0) {
		perror("open /dev/iav");
		return -1;
	}

	if (init_param(argc, argv) < 0) {
		usage();
		return -1;
	}

	parse_default_configs();

	if (create_server() < 0) {
		APP_ERROR("create_server");
		return -1;
	}
	main_handle();

	#if 0
	while (1) {
		main_loop();
	}
	#endif
	while (1) {
		sleep(1);
	}

	return 0;
}
开发者ID:ShawnOfMisfit,项目名称:ambarella,代码行数:35,代码来源:image_server.c

示例9: main

int main(int argc, char *argv[]) {
    int server, port = PORT, opt_idx = 0, c;

    static struct option long_options[] = {
        { "debug", no_argument, &debug, 1 },
        { "port", required_argument, 0, 'p' }
    };

    while ((c = getopt_long(argc, argv, "p:", long_options, &opt_idx)) != -1) {
        switch (c) {
            case 'p': port = atoi(optarg); break;
            case '?':                      break;
        }
    }

    if ((server = create_server(port)) == -1) {
        return -1;
    }

    if (!debug) {
        daemon(0, 0);
    }

    accept_loop(server, handle_client);

    return 0;
}
开发者ID:RobertLarsen,项目名称:ProsaWorkshop,代码行数:27,代码来源:integer_overflow.c

示例10: main

int main(){
    signal(SIGINT, destroy_server);    
    char server_path[BUFFER];
    CREATE_SERVER_FIFO_NAME(server_path);
    create_server();
    char* client_pid = NULL;
    char hack;
    long pid = 0;
    FILE* server_fd = fopen(server_path, "r+");
    size_t len = 0;
    ssize_t read;

    while((read = getline(&client_pid, &len, server_fd)) != -1){
        fread(&hack, sizeof(char), 1, server_fd);
        pid = strtol(client_pid, NULL, 10);
        if(fork() == 0){
            printf("Creating server for Client %ld\n", pid);
            baby_server_read(pid);
        }
        if(signal(SIGINT, destroy_server) == SIG_ERR){
            printf("Signal didn't work");
        }
    }

    return 0;
}
开发者ID:lucywyman,项目名称:client-server,代码行数:26,代码来源:server.c

示例11: qDebug

void BuildServer::onItemClicked( QTableWidgetItem *item )
{
    qDebug() << "BuildServer: onItemClicked and emit toBuildTCP()" ;
    IP = tableWidget->item( item->row() , 1 )->text() ;
    connect( this , SIGNAL( toBuildTCP() ) , peopVSpeop , SLOT( create_server() ) ) ;
    emit toBuildTCP() ;   
}
开发者ID:Allen-smith,项目名称:Renju,代码行数:7,代码来源:buildserver.cpp

示例12: ft_init

void	ft_init(t_serv *e, char *av)
{
	e->counter = 0;
	e->port = ft_atoi(av);
	e->sock = create_server(e->port);
	getcwd(e->home, 1024);
	e->pwd = ft_strdup(e->home);
}
开发者ID:kelu27,项目名称:42,代码行数:8,代码来源:main.c

示例13: do_sendfile

void do_sendfile(void)
{
	int in_fd;
	struct stat sb;
	off_t after_pos;
	int wait_status;
	int wait_stat;

	out_fd = create_server();

	if ((in_fd = open(in_file, O_RDONLY)) < 0) {
		tst_brkm(TBROK, cleanup, "open failed: %d", errno);
	 }
	if (stat(in_file, &sb) < 0) {
		tst_brkm(TBROK, cleanup, "stat failed: %d", errno);
	 }

	TEST(sendfile(out_fd, in_fd, NULL, sb.st_size));
	if ((after_pos = lseek(in_fd, 0, SEEK_CUR)) < 0) {
		tst_brkm(TBROK, cleanup,
			 "lseek after invoking sendfile failed: %d", errno);
	 }

	if (STD_FUNCTIONAL_TEST) {
		/* Close the sockets */
		shutdown(sockfd, SHUT_RDWR);
		shutdown(s, SHUT_RDWR);
		if (TEST_RETURN != sb.st_size) {
			tst_resm(TFAIL, "sendfile(2) failed to return "
				 "expected value, expected: %"PRId64", "
				 "got: %ld", (int64_t)sb.st_size, TEST_RETURN);
			kill(child_pid, SIGKILL);
		} else if (after_pos != sb.st_size) {
			tst_resm(TFAIL, "sendfile(2) failed to update "
				 " the file position of in_fd, "
				 "expected file position: %"PRId64", "
				 "actual file position %"PRId64,
				 (int64_t)sb.st_size, (int64_t)after_pos);
			kill(child_pid, SIGKILL);
		} else {
			tst_resm(TPASS, "functionality of sendfile() is "
				 "correct");
			wait_status = waitpid(-1, &wait_stat, 0);
		}
	} else {
		tst_resm(TPASS, "call succeeded");
		/* Close the sockets */
		shutdown(sockfd, SHUT_RDWR);
		shutdown(s, SHUT_RDWR);
		if (TEST_RETURN != sb.st_size) {
			kill(child_pid, SIGKILL);
		} else {
			wait_status = waitpid(-1, &wait_stat, 0);
		}
	}

	close(in_fd);
}
开发者ID:Mellanox,项目名称:arc_ltp,代码行数:58,代码来源:sendfile06.c

示例14: main

int main(int argc, char *argv[]) {
    Server *server = create_server();

    server->port = PORT;
    server->handler = &handler;
    server_start(server);

    return 0;
}
开发者ID:clemenation,项目名称:FileTransfer,代码行数:9,代码来源:server.c

示例15: main

int main() {
  int fd[2] = {-1, -1};
  int server = -1, client = -1;
  FILE *fp = NULL;
  FILE *fp2 = NULL;
  fp = fopen("a.txt", "w");
  if (fp == NULL) {
    fprintf(stderr, "fopen(a.txt) failed: %s\n", strerror(errno));
    goto ERR_FOPEN;
  }
  fd[0] = fileno(fp);
  printf("a.txt:%d\n", fd[0]);

  fp2 = fopen("aa.txt", "w");
  if (fp2 == NULL) {
    fprintf(stderr, "fopen(aa.txt) failed: %s\n", strerror(errno));
    goto ERR_FOPEN;
  }
  fd[1] = fileno(fp2);
  printf("aa.txt:%d\n", fd[1]);
  server = create_server();
  if (server < 0) {
    fprintf(stderr, "create_server failed\n");
    goto ERR_CREATE_SERVER;
  }
  while(1) {
    client = accept(server, NULL, NULL);
    fprintf(stderr, "client accept %d\n", client);
    if (client < 0) {
      fprintf(stderr, "accept failed\n");
      goto ERR_ACCEPT;
    }

    if (send_file_descriptor(client, fd) < 0) {
      fprintf(stderr, "send_file_descriptor failed: %s\n", strerror(errno));
      goto ERR_SEND_FILE_DESCRIPTOR;
    }

    if (shutdown(client, SHUT_RDWR) < 0) {
      fprintf(stderr, "shutdown failed: %s\n", strerror(errno));
      goto ERR_SHUTDOWN;
    }
  }

ERR_SHUTDOWN:
ERR_SEND_FILE_DESCRIPTOR:
  close(client);
ERR_ACCEPT:
  close(server);
ERR_CREATE_SERVER:
  fclose(fp);
  fclose(fp2);
ERR_FOPEN:
  return 0;
}
开发者ID:JamesWCCheng,项目名称:PassingFileDescriptors,代码行数:55,代码来源:server.c


注:本文中的create_server函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。