• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ create_server函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: do_sendfile

void do_sendfile(int prot, int pass_unmapped_buffer)
{
	OFF_T *protected_buffer;
	int in_fd;
	struct stat sb;

	protected_buffer = mmap(NULL,
				sizeof(*protected_buffer),
				prot, MAP_SHARED | MAP_ANONYMOUS, -1, 0);
	if (protected_buffer == MAP_FAILED) {
		tst_brkm(TBROK, cleanup, "mmap failed: %d", errno);
	}

	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);
	}

	if (pass_unmapped_buffer) {
		if (munmap(protected_buffer, sizeof(*protected_buffer)) < 0) {
			tst_brkm(TBROK, cleanup, "munmap failed: %d", errno);
		}
	}

	TEST(sendfile(out_fd, in_fd, protected_buffer, sb.st_size));

	if (TEST_RETURN != -1) {
		tst_resm(TFAIL, "call succeeded unexpectedly");
	} else {
		TEST_ERROR_LOG(TEST_ERRNO);

		if (TEST_ERRNO != EFAULT) {
			tst_resm(TFAIL, "sendfile returned unexpected "
				 "errno, expected: %d, got: %d",
				 EFAULT, TEST_ERRNO);
		} else {
			tst_resm(TPASS, "sendfile() returned %d : %s",
				 TEST_ERRNO, strerror(TEST_ERRNO));
		}
	}

	shutdown(sockfd, SHUT_RDWR);
	shutdown(s, SHUT_RDWR);
	kill(child_pid, SIGKILL);
	close(in_fd);

	if (!pass_unmapped_buffer) {
		/* Not unmapped yet. So do it now. */
		munmap(protected_buffer, sizeof(*protected_buffer));
	}
}
开发者ID:dacongy,项目名称:ltp,代码行数:55,代码来源:sendfile04.c


示例17: main

int main()
{ int i;
  int server_socket = create_server();
  client_data * * client_list = malloc(max_users * sizeof(*client_list));
  for (i = 0; i < max_users; i += 1)
    client_list[i] = malloc(sizeof(client_data));
  for (i = 0; i < max_users; i += 1)
  { client_list[i]->initial_one = '0';
    client_list[i]->initial_two = '0';
    client_list[i]->room_socket = 0; }
  manage_clients(server_socket, client_list); }
开发者ID:eli-davis,项目名称:unix,代码行数:11,代码来源:server.c


示例18: main

int	main(int ac, char **av)
{
  t_ftp	f;

  f.port = (ac < 2 ? PORT_DEFAULT : av[1]);
  if (create_server(&f) == TRUE)
    while ((f.cs = xaccept(f.s, NULL, NULL)) > 0)
      get_client(&f);
  close(f.s);
  return (TRUE);
}
开发者ID:canercandan,项目名称:another-ftp,代码行数:11,代码来源:server.c


示例19: main

int		main(int argc, char **argv)
{
	int	sock;

	if (argc != 2)
		shell_perror("USAGE: ./serveur [port]");
	sock = create_server(ft_atoi(argv[1]));
	server(sock);
	close(sock);
	return (0);
}
开发者ID:sploadie,项目名称:ft_p,代码行数:11,代码来源:serveur.c


示例20: javacall_bt_rfcomm_create_server

/**
 * Creates a new server connection.
 *
 * The method creates a server connection instance
 * but does not put it in listen mode.
 * Anyway it selects and reserves a free channel to listen for
 * incoming connections on after the listen method is called.
 *
 * @param auth    JAVACALL_TRUE if authication is required
 * @param authz   JAVACALL_TRUE if authorization is required
 * @param enc     JAVACALL_TRUE if required to be encrypted
 * @param master  JAVACALL_TRUE if required to be a connection's master
 * @param pHandle pointer to connection handle variable,
 *               new connection handle returned in result.
 * @param cn pointer to variable, where reserved channel is returned in.
 *
 * @retval JAVACALL_OK on success,
 * @retval JAVACALL_FAIL otherwise
 */
javacall_result javacall_bt_rfcomm_create_server(
        javacall_bool auth,
        javacall_bool authz,
        javacall_bool enc,
        javacall_bool master,
        /*OUT*/javacall_handle* pHandle,
        /*OUT*/int* pCn)
{
    return create_server(RFCOMM, 
        -1, -1, auth, authz, enc, master, pHandle, pCn);
}
开发者ID:sfsy1989,项目名称:j2me,代码行数:30,代码来源:btSPP.c



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ create_session函数代码示例发布时间:2022-05-30
下一篇:
C++ create_sem函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap