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

C++ serve函数代码示例

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

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



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

示例1: if

int AccountService::run(int port)
{	if (soap_valid_socket(this->master) || soap_valid_socket(bind(NULL, port, 100)))
	{	for (;;)
		{	if (!soap_valid_socket(accept()) || serve())
				return this->error;
			soap_destroy(this);
			soap_end(this);
		}
	}
	else
		return this->error;
	return SOAP_OK;
}
开发者ID:damienpuig,项目名称:DistributedBankSystem-GSOAP,代码行数:13,代码来源:soapAccountService.cpp


示例2: if

int WSHttpBinding_USCOREINWNMasterServerAPIService::run(int port)
{	if (soap_valid_socket(this->master) || soap_valid_socket(bind(NULL, port, 100)))
	{	for (;;)
		{	if (!soap_valid_socket(accept()) || serve())
				return this->error;
			soap_destroy(this);
			soap_end(this);
		}
	}
	else
		return this->error;
	return SOAP_OK;
}
开发者ID:HellSinker,项目名称:nwncx,代码行数:13,代码来源:soapWSHttpBinding_USCOREINWNMasterServerAPIService.cpp


示例3: if

int AdvancedSecurityServiceBindingService::run(int port)
{	if (soap_valid_socket(this->soap->master) || soap_valid_socket(bind(NULL, port, 100)))
	{	for (;;)
		{	if (!soap_valid_socket(accept()) || serve())
				return this->soap->error;
			soap_destroy(this->soap);
			soap_end(this->soap);
		}
	}
	else
		return this->soap->error;
	return SOAP_OK;
}
开发者ID:Sufi-Al-Hussaini,项目名称:gsoap-onvif,代码行数:13,代码来源:soapAdvancedSecurityServiceBindingService.cpp


示例4: if

int BasicHttpBinding_USCOREICalculatorService::run(int port)
{   if (soap_valid_socket(this->soap->master) || soap_valid_socket(bind(NULL, port, 100)))
    {   for (;;)
        {   if (!soap_valid_socket(accept()) || serve())
                return this->soap->error;
            soap_destroy(this->soap);
            soap_end(this->soap);
        }
    }
    else
        return this->soap->error;
    return SOAP_OK;
}
开发者ID:gauge2009,项目名称:RPC,代码行数:13,代码来源:soapBasicHttpBinding_USCOREICalculatorService.cpp


示例5: test_get_query

void
test_get_query (void)
{
    const gchar *uri;
    GHashTable *query;

    uri = serve(client);

    query = gcut_take_new_hash_table_string_string("name", "value", NULL);
    soupcut_client_get(client, uri, "name", "value", NULL);

    gcut_assert_equal_hash_table_string_string(query, received_query);
}
开发者ID:andrewdavis12,项目名称:cutter,代码行数:13,代码来源:test-soupcut-client.c


示例6: serve

/* Code executed by the client */
void *client_run(void *arg)
{
	client_t *client = (client_t *) arg;

	/* main loop of the client: fetch commands from window, interpret
	 * and handle them, return results to window. */
	char command[256];
	char response[256] = { 0 };	/* response must be null for the first call to serve */

	serve(client->win, response, command);
	while (handle_command(command, response, sizeof(response))) {
		pthread_mutex_lock(&run_lock);
		while( run_threads == 0 ){
			pthread_cond_wait(&ready_to_run, &run_lock);
		}
		pthread_mutex_unlock(&run_lock);

		serve(client->win, response, command);
	}
	client_destroy(client);
	return 0;
}
开发者ID:nakulj,项目名称:cs-402,代码行数:23,代码来源:server.c


示例7: Pthread_detach

void *thread (void *vargp) {
	thread_args args;
	args = *((thread_args *) vargp);
	Pthread_detach(pthread_self());
	// handle segment fault: it is sometimes weird
	Signal(SIGSEGV, sigsegv_handler);
	// Valar Dohaeris
	serve(args.fd);
	// Valar Morghulis
	Close(args.fd);
	Free(vargp);
	return NULL;
}
开发者ID:SilunWang,项目名称:EasyProxy,代码行数:13,代码来源:proxy.c


示例8: socket

dword SioTcps::Worker(void)
{
    SOCKET so = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

    if (so == INVALID_SOCKET)
    {
        dword dw = WSAGetLastError();
        trace("socket: %d [%08X]\n", dw, dw);
        return dw;
    }

    SOCKADDR_IN sin;
    sin.sin_family = AF_INET;
    sin.sin_port   = htons(port);
    sin.sin_addr.S_un.S_addr = 0;

    if (bind(so, (SOCKADDR *)&sin, sizeof(sin)) != 0)
    {
        dword dw = WSAGetLastError();
        trace("bind: %d [%08X]\n", dw, dw);
        return dw;
    }

    if (listen(so, SOMAXCONN) != 0)
    {
        dword dw = WSAGetLastError();
        trace("listen: %d [%08X]\n", dw, dw);
        return dw;
    }

    do {
trace("Kronos server is accepting connections...\n");
        SOCKADDR_IN sinClient;
        int sinLen = sizeof(sinClient);
        dword soClient = accept(so, (SOCKADDR *)&sinClient, &sinLen);

        if (soClient != INVALID_SOCKET)
        {
            trace("Connection from %d.%d.%d.%d\n",
                sinClient.sin_addr.S_un.S_un_b.s_b1, sinClient.sin_addr.S_un.S_un_b.s_b2,
                sinClient.sin_addr.S_un.S_un_b.s_b3, sinClient.sin_addr.S_un.S_un_b.s_b4);

            serve(soClient);
        }
    } while (sin.sin_addr.S_un.S_addr == 0);
// John - you never get here.
// May be you need shutdown() same as in IGD480
trace("Kronos server exiting...\n");
    closesocket(so);
    return 0;
}
开发者ID:norayr,项目名称:kronos,代码行数:51,代码来源:SIO_TCP.cpp


示例9: main

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

    char *eth, *ip1, *ip2;

    if (argc < 2) {
        printf("No www directory found\nUsage: %s wwwdir\n", argv[0]);
        return 1;
    }

    if (chdir(argv[1]) < 0) {
        printf("Could not change dir to '%s'\n", argv[1]);
        return 1;
    }

    eth = getenv("ETH");
    if (!eth) {
        printf("The ETH environment variable must be set!\n");
        return 1;
    }

    ip1 = getenv("IP1");
    ip2 = getenv("IP2");
    if (!ip1 || !ip2) {
        printf("The IP1 and IP2 environment variables must be set!\n");
        return 1;
    }

#if KEEP_SERVING
    /* keep calling serve() until it fails, then exit with error code */
    while (serve(argv[1])) { }
    printf("Listening failed\n");
    return 1;
#else
    /* call serve() and exit */
    return (!serve(argv[1]));
#endif

}
开发者ID:TrainingProject,项目名称:tcp,代码行数:38,代码来源:httpd.c


示例10: main

int
main(int argc, char** argv)
{
	int detach = (argc > 1 && !strncmp(argv[1],"-d",2)) ? 1 : 0;
	char* port = (argc > (1 + detach) ? argv[1 + detach] : SERVER_PORT);;
	char* tls_port = (argc > (2 + detach) ? argv[2 + detach] : TLS_SERVER_PORT);

	if (argc > 3) usage(argv[0]);
	if (argc > 1 && !strcmp(argv[1],"-r")) restart();

	demon(detach);	
	serve(atoi(port),atoi(tls_port));
	return 0;
}
开发者ID:cthulhuology,项目名称:Jawas,代码行数:14,代码来源:jawasd.c


示例11: sMain

void sMain()
{
  sGetMemHandler(sAMF_HEAP)->MakeThreadSafe(); // WTF?!

  {
    sThread serve(ServerThread);
    
    sCatchCtrlC();
    while(!sGotCtrlC())
      sSleep(100);
  }

  sPrintF(L"Server quit.\n");
}
开发者ID:Ambrevar,项目名称:fr_public,代码行数:14,代码来源:server.cpp


示例12: WaitForConnection

void WaitForConnection(SocketServer* self)
{
	listen(self->Socket,1);

	SOCKET TempSock = SOCKET_ERROR;
	while(TempSock==SOCKET_ERROR)
	{
		TempSock = accept(self->Socket,NULL,NULL);
	}
	
	serve(self, TempSock);

	closesocket(TempSock);
}
开发者ID:adamblack1,项目名称:cslim,代码行数:14,代码来源:SocketServer.c


示例13: if

int ConsoleObserverService::run(int port)
{	if (soap_valid_socket(bind(NULL, port, 100)))
	{	for (;;)
		{	if (!soap_valid_socket(accept()))
				return this->error;
			(void)serve();
			soap_destroy(this);
			soap_end(this);
		}
	}
	else
		return this->error;
	return SOAP_OK;
}
开发者ID:Vaa3D,项目名称:v3d_external,代码行数:14,代码来源:obsConsoleObserverService.cpp


示例14: server

int server(int initfd) {
  // Create the shared queue
  queue_t q;
  int res;

  queue_init(&q, QUEUE_SIZE);

  // Create the consumer threads
  pthread_t cthreads[CONSUMERS_COUNT];
  unsigned i;
  for (i = 0; i < CONSUMERS_COUNT; i++) {
    res = pthread_create(&cthreads[i], NULL, &consumer_thread, &q);
    assert(res == 0);
  }

  // Create the listening socket
  int accsock = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
  assert(accsock >= 0);

  int true = 1;
  res = setsockopt(accsock, SOL_SOCKET, SO_REUSEADDR, &true, sizeof(true));
  assert(res == 0);

  struct sockaddr_in addr;
  memset(&addr, 0, sizeof(addr));
  addr.sin_family = AF_INET;
  addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
  addr.sin_port = htons(LISTEN_PORT);

  res = bind(accsock, (struct sockaddr*)&addr, sizeof(addr));
  assert(res == 0);

  res = listen(accsock, BACKLOG_SIZE);
  assert(res == 0);

  close(initfd);

  fprintf(stderr, "Server initialized\n");

  serve(&q, accsock);

  for (i = 0; i < CONSUMERS_COUNT; i++) {
    res = pthread_join(cthreads[i], NULL);
    assert(res == 0);
  }

  queue_deinit(&q);
  return 0;
}
开发者ID:Icefroge,项目名称:cloud9,代码行数:49,代码来源:cs2-sympackets.c


示例15: main

int main(int argc, char** argv) {
  auto& main_prof = make_profiler("main");
  profile_start(main_prof);

  try {
    options opt = parse_cmdline(argc, argv);

    switch (opt.m_mode) {
      case options::init:
        init();
        break;
      case options::config:
        run_config(require_codedb_path(opt), opt);
        break;
      case options::build:
        build(require_codedb_path(opt), opt);
        break;
      case options::find:
        find(require_codedb_path(opt), opt);
        break;
      case options::serve:
        serve(require_codedb_path(opt), opt);
        break;
      case options::undefined:
        std::cout << "cdb: '" << opt.m_args[0]
                  << "' is not a cdb-command. See 'cdb --help'.\n";
        break;
      case options::help:
        help(opt);
        break;
      default:
        std::cout << "Not implemented '" << opt.m_args.at(0) << "'\n";
        break;
    }
  }
  catch (const regex_error& error) {
    std::string desc = error.what();
    if (!desc.empty()) desc[0] = std::toupper(desc[0]);

    std::cerr << "Error: invalid regex '" << error.m_expr << "'\n  " << desc
              << '\n';
  }
  catch (const std::exception& e) {
    std::cerr << "Error: " << e.what() << std::endl;
  }

  profile_stop(main_prof);
  profiler_report();
}
开发者ID:PlastecProfiles,项目名称:CodeDB,代码行数:49,代码来源:codedb.cpp


示例16: main

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

	stlink_t *sl = NULL;

	st_state_t state;
	memset(&state, 0, sizeof(state));
	// set defaults...
	state.stlink_version = 2;
	state.logging_level = DEFAULT_LOGGING_LEVEL;
	state.listen_port = DEFAULT_GDB_LISTEN_PORT;
	parse_options(argc, argv, &state);
	switch (state.stlink_version) {
	case 2:
		sl = stlink_open_usb(state.logging_level);
		if(sl == NULL) return 1;
		break;
	case 1:
		sl = stlink_v1_open(state.logging_level);
		if(sl == NULL) return 1;
		break;
        }

	printf("Chip ID is %08x, Core ID is  %08x.\n", sl->chip_id, sl->core_id);

	sl->verbose=0;

	current_memory_map = make_memory_map(sl);

#ifdef __MINGW32__
	WSADATA	wsadata;
	if (WSAStartup(MAKEWORD(2,2),&wsadata) !=0 ) {
		goto winsock_error;
	}
#endif

	while(serve(sl, state.listen_port, state.elf_filename) == 0);

#ifdef __MINGW32__
winsock_error:
	WSACleanup();
#endif

	/* Switch back to mass storage mode before closing. */
	stlink_run(sl);
	stlink_exit_debug_mode(sl);
	stlink_close(sl);

	return 0;
}
开发者ID:shenki,项目名称:stlink,代码行数:49,代码来源:gdb-server.c


示例17: main

int
main(int argc, char *argv[])
{
    int fd;

    if (!parseargs(argc, argv))
        usage();
    else {
        fd = initserver(port, qlen);
        fprintf(stdout, "Server HTTP on port %d ...\n", port);
        serve(fd);
    }

    return 0;
}
开发者ID:kirakira,项目名称:httpserver,代码行数:15,代码来源:httpserver.c


示例18: umain

void
umain(int argc, char **argv)
{
	static_assert(sizeof(struct File) == 256);
	binaryname = "fs";
	cprintf("FS is running\n");

	// Check that we are able to do I/O
	outw(0x8A00, 0x8A00);
	cprintf("FS can do I/O\n");

	serve_init();
	fs_init();
	serve();
}
开发者ID:stone-SJH,项目名称:joslabs-byStone,代码行数:15,代码来源:serv.c


示例19: disconnect

SocksClient *SocksServer::takeIncoming()
{
    if(d->incomingConns.isEmpty())
        return 0;

    SocksClient *c = d->incomingConns.takeFirst();

    // we don't care about errors anymore
    disconnect(c, SIGNAL(error(int)), this, SLOT(connectionError()));

    // don't serve the connection until the event loop, to give the caller a chance to map signals
    QTimer::singleShot(0, c, SLOT(serve()));

    return c;
}
开发者ID:psi-im,项目名称:iris,代码行数:15,代码来源:socks.cpp


示例20: test_set_base_null

void
test_set_base_null (void)
{
    const gchar *uri;

    uri = serve(client);

    soupcut_client_set_base(client, NULL);

    cut_assert_equal_uint(SOUP_STATUS_MALFORMED,
                          soupcut_client_get(client, NULL, NULL));

    soupcut_client_get(client, uri, NULL);
    assert_response_equal_body(cut_take_printf("Hello %s", uri), client);
}
开发者ID:andrewdavis12,项目名称:cutter,代码行数:15,代码来源:test-soupcut-client.c



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ server函数代码示例发布时间:2022-05-30
下一篇:
C++ serio_interrupt函数代码示例发布时间: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