您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ uv_listen函数代码示例

51自学网 2021-06-03 09:27:50
  C++
这篇教程C++ uv_listen函数代码示例写得很实用,希望能帮到您。

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

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

示例1: ipc_helper

int ipc_helper(int listen_after_write) {  /*   * This is launched from test-ipc.c. stdin is a duplex channel that we   * over which a handle will be transmitted.   */  struct sockaddr_in addr;  uv_write_t write_req;  int r;  uv_buf_t buf;  uv_os_fd_t stdin_handle = uv_convert_fd_to_handle(0);  ASSERT(0 == uv_ip4_addr("0.0.0.0", TEST_PORT, &addr));  r = uv_pipe_init(uv_default_loop(), &channel, 1);  ASSERT(r == 0);  uv_pipe_open(&channel, stdin_handle);  ASSERT(1 == uv_is_readable((uv_stream_t*) &channel));  ASSERT(1 == uv_is_writable((uv_stream_t*) &channel));  ASSERT(0 == uv_is_closing((uv_handle_t*) &channel));  r = uv_tcp_init(uv_default_loop(), &tcp_server);  ASSERT(r == 0);  r = uv_tcp_bind(&tcp_server, (const struct sockaddr*) &addr, 0);  ASSERT(r == 0);  if (!listen_after_write) {    r = uv_listen((uv_stream_t*)&tcp_server, BACKLOG, ipc_on_connection);    ASSERT(r == 0);  }  buf = uv_buf_init("hello/n", 6);  r = uv_write2(&write_req, (uv_stream_t*)&channel, &buf, 1,      (uv_stream_t*)&tcp_server, NULL);  ASSERT(r == 0);  if (listen_after_write) {    r = uv_listen((uv_stream_t*)&tcp_server, BACKLOG, ipc_on_connection);    ASSERT(r == 0);  }  r = uv_run(uv_default_loop(), UV_RUN_DEFAULT);  ASSERT(r == 0);  ASSERT(connection_accepted == 1);  ASSERT(close_cb_called == 3);  MAKE_VALGRIND_HAPPY();  return 0;}
开发者ID:clibs,项目名称:uv,代码行数:52,


示例2: ipc_helper

static int ipc_helper(int listen_after_write) {  /*   * This is launched from test-ipc.c. stdin is a duplex channel that we   * over which a handle will be transmitted. In this initial version only   * data is transfered over the channel. XXX edit this comment after handle   * transfer is added.   */    uv_write_t write_req;  int r;  uv_buf_t buf;  r = uv_pipe_init(uv_default_loop(), &channel, 1);  ASSERT(r == 0);  uv_pipe_open(&channel, 0);  ASSERT(uv_is_readable(&channel));  ASSERT(uv_is_writable(&channel));  r = uv_tcp_init(uv_default_loop(), &tcp_server);  ASSERT(r == 0);  r = uv_tcp_bind(&tcp_server, uv_ip4_addr("0.0.0.0", TEST_PORT));  ASSERT(r == 0);  if (!listen_after_write) {    r = uv_listen((uv_stream_t*)&tcp_server, 12, ipc_on_connection);    ASSERT(r == 0);  }  buf = uv_buf_init("hello/n", 6);  r = uv_write2(&write_req, (uv_stream_t*)&channel, &buf, 1,      (uv_stream_t*)&tcp_server, NULL);  ASSERT(r == 0);  if (listen_after_write) {    r = uv_listen((uv_stream_t*)&tcp_server, 12, ipc_on_connection);    ASSERT(r == 0);  }  r = uv_run(uv_default_loop());  ASSERT(r == 0);  ASSERT(connection_accepted == 1);  ASSERT(close_cb_called == 3);  return 0;}
开发者ID:0x00A,项目名称:uvxx,代码行数:49,


示例3: ipc_helper

int ipc_helper(int listen_after_write) {  /*   * This is launched from test-ipc.c. stdin is a duplex channel that we   * over which a handle will be transmitted.   */  uv_write_t write_req;  int r;  uv_buf_t buf;  r = uv_pipe_init(uv_default_loop(), &channel, 1);  ASSERT(r == 0);  uv_pipe_open(&channel, 0);  ASSERT(uv_is_readable((uv_stream_t*) &channel));  ASSERT(uv_is_writable((uv_stream_t*) &channel));  ASSERT(!uv_is_closing((uv_handle_t*) &channel));  r = uv_tcp_init(uv_default_loop(), &tcp_server);  ASSERT(r == 0);  r = uv_tcp_bind(&tcp_server, uv_ip4_addr("0.0.0.0", TEST_PORT));  ASSERT(r == 0);  if (!listen_after_write) {    r = uv_listen((uv_stream_t*)&tcp_server, 12, ipc_on_connection);    ASSERT(r == 0);  }  buf = uv_buf_init("hello/n", 6);  r = uv_write2(&write_req, (uv_stream_t*)&channel, &buf, 1,      (uv_stream_t*)&tcp_server, NULL);  ASSERT(r == 0);  if (listen_after_write) {    r = uv_listen((uv_stream_t*)&tcp_server, 12, ipc_on_connection);    ASSERT(r == 0);  }  r = uv_run(uv_default_loop());  ASSERT(r == 0);  ASSERT(connection_accepted == 1);  ASSERT(close_cb_called == 3);  MAKE_VALGRIND_HAPPY();  return 0;}
开发者ID:2hanson,项目名称:node,代码行数:49,


示例4: main

int main(int argc, char *argv[]) {    // Open database    char c; //for managing getopt    while ((c = getopt(argc, argv, OPTIONS)) != -1){        switch (c) {           case 'c':              break;        }           }        leveldb::Options options;    options.create_if_missing = true;    leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db);        loop = uv_default_loop();    uv_tcp_t server;    uv_tcp_init(loop, &server);    struct sockaddr_in bind_addr = uv_ip4_addr("0.0.0.0", 8085);    uv_tcp_bind(&server, bind_addr);    int r = uv_listen((uv_stream_t*) &server, 128, on_new_connection);    if (r) {        fprintf(stderr, "Listen error %s/n", uv_err_name(uv_last_error(loop)));        return 1;    }    return uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:No9,项目名称:luvdbie,代码行数:28,


示例5: dns_start

static int dns_start(int port) {  struct sockaddr_in addr = uv_ip4_addr("0.0.0.0", port);  int r;  r = uv_tcp_init(&server);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Socket creation error/n");    return 1;  }  r = uv_tcp_bind(&server, addr);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Bind error/n");    return 1;  }  r = uv_listen((uv_network_stream_t*)&server, 128, on_connection);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Listen error/n");    return 1;  }  return 0;}
开发者ID:DrPizza,项目名称:libuv,代码行数:27,


示例6: start_connection_dispatching

/* Set up an IPC pipe server that hands out listen sockets to the worker * threads. It's kind of cumbersome for such a simple operation, maybe we * should revive uv_import() and uv_export(). */void start_connection_dispatching(uv_handle_type type, unsigned int num_servers, struct server_ctx* servers, char* listen_address, int listen_port){    int rc;    struct ipc_server_ctx ctx;    uv_loop_t* loop;    unsigned int i;    loop = uv_default_loop();    ctx.num_connects = num_servers;    if (type == UV_TCP)    {        uv_ip4_addr(listen_address, listen_port, &listen_addr);        rc = uv_tcp_init(loop, (uv_tcp_t*) &ctx.server_handle);        rc = uv_tcp_bind((uv_tcp_t*) &ctx.server_handle, (const struct sockaddr*)&listen_addr, 0);        printf("Listening on %s:%d/n", listen_address, listen_port);    }    rc = uv_pipe_init(loop, &ctx.ipc_pipe, 1);    rc = uv_pipe_bind(&ctx.ipc_pipe, "HAYWIRE_CONNECTION_DISPATCH_PIPE_NAME");    rc = uv_listen((uv_stream_t*) &ctx.ipc_pipe, 128, ipc_connection_cb);    for (i = 0; i < num_servers; i++)        uv_sem_post(&servers[i].semaphore);    rc = uv_run(loop, UV_RUN_DEFAULT);    uv_close((uv_handle_t*) &ctx.server_handle, NULL);    rc = uv_run(loop, UV_RUN_DEFAULT);    for (i = 0; i < num_servers; i++)        uv_sem_wait(&servers[i].semaphore);}
开发者ID:JackDanger,项目名称:Haywire,代码行数:37,


示例7: createTcpServer

uv_stream_t* createTcpServer(uv_loop_t* pLoop, const std::string& host,  int port, WebApplication* pWebApplication) {  // We own pWebApplication. It will be destroyed by the socket but if in  // the future we have failure cases that stop execution before we get  // that far, we MUST delete pWebApplication ourselves.  // Deletes itself when destroy() is called, which occurs in freeServer()  Socket* pSocket = new Socket();  // TODO: Handle error  uv_tcp_init(pLoop, &pSocket->handle.tcp);  pSocket->handle.isTcp = true;  pSocket->handle.stream.data = pSocket;  pSocket->pWebApplication = pWebApplication;  struct sockaddr_in address = uv_ip4_addr(host.c_str(), port);  int r = uv_tcp_bind(&pSocket->handle.tcp, address);  if (r) {    pSocket->destroy();    return NULL;  }  r = uv_listen((uv_stream_t*)&pSocket->handle.stream, 128, &on_request);  if (r) {    pSocket->destroy();    return NULL;  }  return &pSocket->handle.stream;}
开发者ID:GalaxyData2015,项目名称:httpuv,代码行数:29,


示例8: TraceLS

void TCPSocket::listen(int backlog) {    TraceLS(this) << "Listening" << endl;    init();    int r = uv_listen(ptr<uv_stream_t>(), backlog, internal::onAcceptConnection);    if (r) setAndThrowError("TCP listen failed", r);}
开发者ID:runt18,项目名称:libsourcey,代码行数:7,


示例9: tcp_bind

static voidtcp_bind(uv_loop_t *loop, struct server_context *server) {    int rc;    uv_tcp_init(loop, &server->tcp);    rc = uv_tcp_open(&server->tcp, server->tcp_fd);    if (rc) {        logger_stderr("tcp open error: %s", uv_strerror(rc));    }    uv_async_init(loop, &server->async_handle, consumer_close);    rc = uv_tcp_bind(&server->tcp, server->local_addr, 0);    if (rc || errno) {        logger_stderr("bind error: %s", rc ? uv_strerror(rc) : strerror(errno));        exit(1);    }    rc = uv_listen((uv_stream_t*)&server->tcp, SOMAXCONN, server->accept_cb);    if (rc) {        logger_stderr("listen error: %s", rc ? uv_strerror(rc) : strerror(errno));        exit(1);    }}
开发者ID:cdlz,项目名称:xsocks,代码行数:25,


示例10: Server_listen

int Server_listen( Server *server ) {	struct sockaddr_storage address;	checkFunction( Server_AddressInfo( server, &address ) );	server->ipFamily = address.ss_family;	unsigned int flags = 0;	if ( address.ss_family == AF_INET6 )		flags |= IPV6_V6ONLY;	switch ( server->protocol ) {		case ServerProtocol_TCP: {			checkFunction( uv_tcp_bind( server->handle.tcpHandle, (struct sockaddr*)&address, flags ) );			break;		}		case ServerProtocol_UDP: {			checkFunction( uv_udp_bind( server->handle.udpHandle, (struct sockaddr*)&address, flags ) );			log_err( "UDP actually isn't supported yet." );			return 1;			// break;		}		default: {			log_err( "An unknown server protocol happened." );			return 1;		}	}	// e = uv_udp_recv_start( server->handle.udpHandle, allocCB, readCB );	checkFunction( uv_listen( server->handle.stream, 128, Server_newTCPConnection ) );	char namebuf[INET6_ADDRSTRLEN];	checkFunction( getnameinfo( (struct sockaddr *)&address, sizeof(address), namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST ) );	dbg_info( "Listening on [%s]:%d.", namebuf, ntohs(((struct sockaddr_in*)&address)->sin_port) );	return 0;}
开发者ID:torque,项目名称:reki,代码行数:35,


示例11: uvc_listen

int uvc_listen(uvc_io *io,int backlog){	io->handle->data=io;	uv_listen((uv_stream_t *)io->handle,backlog,uvc_connection_cb);	io->cur =uvc_self();	uvc_yield( );	return io->return_status;}
开发者ID:whtc123,项目名称:libuvc,代码行数:7,


示例12: main

int main() {    uv_loop_t *loop = uv_default_loop();    resbuf.base = RESPONSE;    resbuf.len = sizeof(RESPONSE);    settings.on_headers_complete = on_headers_complete;    uv_tcp_init(loop, &server);    struct sockaddr_in addr;    int r;    r = uv_ip4_addr("0.0.0.0", 8001, &addr);    if (r < 0)        fprintf(stderr, "ip4_addr error %d/n", r);    r = uv_tcp_bind(&server, (const struct sockaddr *) &addr, 0);    if (r < 0) {        fprintf(stderr, "bind: %s/n", uv_strerror(r));        // return -1;    }    r = uv_listen((uv_stream_t *) &server, 128, on_connected);    if (r < 0) {        fprintf(stderr, "listen: %s/n", uv_strerror(r));        return -1;    }    return uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:edwin-oetelaar,项目名称:uv_webserver,代码行数:34,


示例13: main

/** * Executed when calling from shell. */int main(int argc, const char** argv) {    /* transforms an ip4 addr to a libuv usable struct */    struct sockaddr_in addr = uv_ip4_addr("127.0.0.1", 3000);        loop = uv_default_loop();    /* set the http response to the buffer */    resp_buf.base = RESPONSE;    resp_buf.len = sizeof(RESPONSE);    /* assign our parser handlers */    settings.on_url = http_url_cb;    settings.on_body = http_body_cb;    settings.on_header_field = http_header_field_cb;    settings.on_header_value = http_header_value_cb;    settings.on_headers_complete = http_headers_complete_cb;    settings.on_message_begin = http_message_begin_cb;    settings.on_message_complete = http_message_complete_cb;    /* create tcp server and bind it to the address */    uv_tcp_init(loop, &server);    uv_tcp_bind(&server, addr);    /* let the tcp server handle incoming connections */    int r = uv_listen((uv_stream_t*) &server, 128, tcp_new_connection_cb);    if (r) {        fprintf(stderr, "Error on tcp listen: %s./n",                 uv_strerror(uv_last_error(loop)));    }    /* start the event loop */    return uv_run(loop, UV_RUN_DEFAULT);}
开发者ID:Hotik,项目名称:libuv-webserver,代码行数:37,


示例14: ircd_start

voidircd_start(ircd_t *ircd) {    struct addrinfo hints;    struct addrinfo *result;    memset(&hints, 0, sizeof(hints));    hints.ai_flags = AI_PASSIVE;    hints.ai_family = AF_INET6;    hints.ai_socktype = SOCK_STREAM;    hints.ai_protocol = 0;    // rest 0    int status = getaddrinfo(NULL, "6999", &hints, &result);    if (status) {        printf("getaddrinfo: ");        puts(gai_strerror(status));        return;    }    if (uv_tcp_bind(&ircd->handle, result->ai_addr, 0) < 0) {        perror("bind");        freeaddrinfo(result);        return;    }    if (uv_listen((uv_stream_t*)&ircd->handle, IRCD_BACKLOG, do_accept) > 0) {        perror("listen");        return;    }    printf("ircd listening on %s/n", sprint_addrport(result->ai_addr));    freeaddrinfo(result);}
开发者ID:prurigro,项目名称:meshchat,代码行数:34,


示例15: run_worker

static int run_worker(uv_loop_t *loop, struct engine *engine){	/* Control sockets or TTY */	auto_free char *sock_file = NULL;	uv_pipe_t pipe;	uv_pipe_init(loop, &pipe, 0);	pipe.data = engine;	if (g_interactive) {		printf("[system] interactive mode/n> ");		fflush(stdout);		uv_pipe_open(&pipe, 0);		uv_read_start((uv_stream_t*) &pipe, tty_alloc, tty_read);	} else {		(void) mkdir("tty", S_IRWXU|S_IRWXG);		sock_file = afmt("tty/%ld", getpid());		if (sock_file) {			uv_pipe_bind(&pipe, sock_file);			uv_listen((uv_stream_t *) &pipe, 16, tty_accept);		}	}	/* Run event loop */	uv_run(loop, UV_RUN_DEFAULT);	if (sock_file) {		unlink(sock_file);	}	return kr_ok();}
开发者ID:PaulosV,项目名称:knot-resolver,代码行数:27,


示例16: main

int main(int argc, char **argv) {  uv_tcp_t handle;  struct sockaddr_in addr;  int r;    uv_loop_init(&loop);  uv_tcp_init(&loop, &handle);    r = uv_ip4_addr("0.0.0.0", 30100, &addr);  uv_tcp_bind(&handle, (struct sockaddr *)&addr, 0);  if (r) {    fprintf(stderr, "Listen: bind failed/n");    return -1;  }  // handle.data = this;  r = uv_listen((uv_stream_t *)&handle, 8192,                on_new_connection);  if (r) {    fprintf(stderr, "InitTCPServer uv_listen failed/n");    return -1;  }  return uv_run(&loop, UV_RUN_DEFAULT);}
开发者ID:lijie,项目名称:siriusdb,代码行数:25,


示例17: connection_consumer_start

void connection_consumer_start(void *arg){    int rc;    struct server_ctx *ctx;    uv_loop_t* loop;        ctx = arg;    loop = uv_loop_new();    listener_event_loops[ctx->index] = *loop;        http_request_cache_configure_listener(loop, &listener_async_handles[ctx->index]);    uv_barrier_wait(listeners_created_barrier);        rc = uv_async_init(loop, &ctx->async_handle, connection_consumer_close);    uv_unref((uv_handle_t*) &ctx->async_handle);        /* Wait until the main thread is ready. */    uv_sem_wait(&ctx->semaphore);    get_listen_handle(loop, (uv_stream_t*) &ctx->server_handle);    uv_sem_post(&ctx->semaphore);        rc = uv_listen((uv_stream_t*)&ctx->server_handle, 128, connection_consumer_new_connection);    rc = uv_run(loop, UV_RUN_DEFAULT);        uv_loop_delete(loop);}
开发者ID:anurse,项目名称:Haywire,代码行数:26,


示例18: run_ipc_send_recv_helper

int run_ipc_send_recv_helper(uv_loop_t* loop, int inprocess) {  int r;  is_in_process = inprocess;  memset(&ctx2, 0, sizeof(ctx2));  r = uv_pipe_init(loop, &ctx2.listen, 0);  ASSERT(r == 0);  r = uv_pipe_init(loop, &ctx2.channel, 1);  ASSERT(r == 0);  if (inprocess) {    r = uv_pipe_bind(&ctx2.listen, TEST_PIPENAME_3);    ASSERT(r == 0);    r = uv_listen((uv_stream_t*)&ctx2.listen, SOMAXCONN, listen_cb);    ASSERT(r == 0);  } else {    r = uv_pipe_open(&ctx2.channel, 0);    ASSERT(r == 0);    send_recv_start();  }  r = uv_run(loop, UV_RUN_DEFAULT);  ASSERT(r == 0);  return 0;}
开发者ID:CurlyMoo,项目名称:libuv,代码行数:31,


示例19: main

int main(int argc, char const *argv[]){	LOGI(WELCOME_MESSAGE);	make_tables((unsigned char *)PASSWORD, encrypt_table, decrypt_table);	LOGI("Encrypt and decrypt table generated");		int n;	uv_loop_t *loop = uv_default_loop();	uv_tcp_t listener;	struct sockaddr_in addr = uv_ip4_addr(SERVER_LISTEN, SERVER_PORT);	n = uv_tcp_init(loop, &listener);	if (n)		SHOW_UV_ERROR_AND_EXIT(loop);	n = uv_tcp_bind(&listener, addr);	if (n)		SHOW_UV_ERROR_AND_EXIT(loop);	n = uv_listen((uv_stream_t*)(void *)&listener, 5, connect_cb);	if (n)		SHOW_UV_ERROR_AND_EXIT(loop);	LOGI("Listening on " SERVER_LISTEN ":" TOSTR(SERVER_PORT));	return uv_run(loop);}
开发者ID:leecade,项目名称:shadowsocks-libuv,代码行数:27,


示例20: _tcp_bind

static int _tcp_bind(uv_tcp_t *handle, struct sockaddr *addr, uv_connection_cb connection){	unsigned flags = 0;	if (addr->sa_family == AF_INET6) {		flags |= UV_TCP_IPV6ONLY;	}	int ret = uv_tcp_bind(handle, addr, flags);	if (ret != 0) {		return ret;	}	/* TCP_DEFER_ACCEPT delays accepting connections until there is readable data. */#ifdef TCP_DEFER_ACCEPT	if (set_tcp_option((uv_handle_t *)handle, TCP_DEFER_ACCEPT, KR_CONN_RTT_MAX/1000) != 0) {		kr_log_info("[ io ] tcp_bind (defer_accept): %s/n", strerror(errno));	}#endif	ret = uv_listen((uv_stream_t *)handle, 16, connection);	if (ret != 0) {		return ret;	}	return tcp_bind_finalize((uv_handle_t *)handle);}
开发者ID:Karm,项目名称:knot-resolver,代码行数:26,


示例21: main

int main() {  int r = 0;  uv_loop_t *loop = uv_default_loop();  /* 1. Initialize TCP server */  r = uv_tcp_init(loop, &tcp_server);  CHECK(r, "uv_tcp_init");  /* 2. Bind to localhost:7000 */  struct sockaddr_in addr;  r = uv_ip4_addr(HOST, PORT, &addr);  CHECK(r, "uv_ip4_addr");  r = uv_tcp_bind(&tcp_server, (struct sockaddr*) &addr, AF_INET);  CHECK(r, "uv_tcp_bind");  /* 3. Start listening */  /* uv_tcp_t inherits uv_stream_t so casting is ok */  r = uv_listen((uv_stream_t*) &tcp_server, SOMAXCONN, onconnection);  CHECK(r, "uv_listen");  log_info("Listening on %s:%d", HOST, PORT);  uv_run(loop, UV_RUN_DEFAULT);  MAKE_VALGRIND_HAPPY();  return 0;}
开发者ID:Ryannnnnnn,项目名称:learnuv,代码行数:28,


示例22: tcp4_echo_start

static int tcp4_echo_start(int port) {  struct sockaddr_in addr;  int r;  ASSERT(0 == uv_ip4_addr("0.0.0.0", port, &addr));  server = (uv_handle_t*)&tcpServer;  serverType = TCP;  r = uv_tcp_init(loop, &tcpServer);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Socket creation error/n");    return 1;  }  r = uv_tcp_bind(&tcpServer, (const struct sockaddr*) &addr, 0);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Bind error/n");    return 1;  }  r = uv_listen((uv_stream_t*)&tcpServer, SOMAXCONN, on_connection);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Listen error %s/n", uv_err_name(r));    return 1;  }  return 0;}
开发者ID:1048046563,项目名称:node,代码行数:32,


示例23: pipe_echo_start

static int pipe_echo_start(char* pipeName) {  int r;#ifndef _WIN32  {    uv_fs_t req;    uv_fs_unlink(uv_default_loop(), &req, pipeName, NULL);    uv_fs_req_cleanup(&req);  }#endif  server = (uv_handle_t*)&pipeServer;  serverType = PIPE;  r = uv_pipe_init(loop, &pipeServer, 0);  if (r) {    fprintf(stderr, "uv_pipe_init: %s/n", uv_strerror(r));    return 1;  }  r = uv_pipe_bind(&pipeServer, pipeName);  if (r) {    fprintf(stderr, "uv_pipe_bind: %s/n", uv_strerror(r));    return 1;  }  r = uv_listen((uv_stream_t*)&pipeServer, SOMAXCONN, on_connection);  if (r) {    fprintf(stderr, "uv_pipe_listen: %s/n", uv_strerror(r));    return 1;  }  return 0;}
开发者ID:1048046563,项目名称:node,代码行数:34,


示例24: main

int main(int argc, char **argv){    uv_loop_t *loop = uv_default_loop();    uv_tcp_t listener;    struct sockaddr_in sockaddr;    h2o_handler_t ws_handler;    int r;    if ((r = uv_tcp_init(loop, &listener)) != 0) {        fprintf(stderr, "uv_tcp_init:%s/n", uv_strerror(r));        goto Error;    }    uv_ip4_addr("127.0.0.1", 7890, &sockaddr);    if ((r = uv_tcp_bind(&listener, (struct sockaddr*)&sockaddr, sizeof(sockaddr))) != 0) {        fprintf(stderr, "uv_tcp_bind:%s/n", uv_strerror(r));        goto Error;    }    if ((r = uv_listen((uv_stream_t*)&listener, 128, on_connect)) != 0) {        fprintf(stderr, "uv_listen:%s/n", uv_strerror(r));        goto Error;    }    h2o_config_init(&config);    memset(&ws_handler, 0, sizeof(ws_handler));    ws_handler.on_req = on_req;    h2o_linklist_insert(&config.default_host.handlers, &ws_handler._link);    h2o_context_init(&ctx, loop, &config);    //ssl_ctx = h2o_ssl_new_server_context("server.crt", "server.key", NULL);    return uv_run(loop, UV_RUN_DEFAULT);Error:    return 1;}
开发者ID:Gwill,项目名称:h2o,代码行数:34,


示例25: createPipeServer

uv_stream_t* createPipeServer(uv_loop_t* pLoop, const std::string& name,  int mask, WebApplication* pWebApplication) {  // We own pWebApplication. It will be destroyed by the socket but if in  // the future we have failure cases that stop execution before we get  // that far, we MUST delete pWebApplication ourselves.  // Deletes itself when destroy() is called, which occurs in freeServer()  Socket* pSocket = new Socket();  // TODO: Handle error  uv_pipe_init(pLoop, &pSocket->handle.pipe, true);  pSocket->handle.isTcp = false;  pSocket->handle.stream.data = pSocket;  pSocket->pWebApplication = pWebApplication;  mode_t oldMask = 0;  if (mask >= 0)    oldMask = umask(mask);  int r = uv_pipe_bind(&pSocket->handle.pipe, name.c_str());  if (mask >= 0)    umask(oldMask);  if (r) {    pSocket->destroy();    return NULL;  }  r = uv_listen((uv_stream_t*)&pSocket->handle.stream, 128, &on_request);  if (r) {    pSocket->destroy();    return NULL;  }  return &pSocket->handle.stream;}
开发者ID:GalaxyData2015,项目名称:httpuv,代码行数:34,


示例26: tcp6_echo_start

static int tcp6_echo_start(int port) {  struct sockaddr_in6 addr6;  int r;  ASSERT(0 == uv_ip6_addr("::1", port, &addr6));  server = (uv_handle_t*)&tcpServer;  serverType = TCP;  r = uv_tcp_init(loop, &tcpServer);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Socket creation error/n");    return 1;  }  /* IPv6 is optional as not all platforms support it */  r = uv_tcp_bind(&tcpServer, (const struct sockaddr*) &addr6, 0);  if (r) {    /* show message but return OK */    fprintf(stderr, "IPv6 not supported/n");    return 0;  }  r = uv_listen((uv_stream_t*)&tcpServer, SOMAXCONN, on_connection);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Listen error/n");    return 1;  }  return 0;}
开发者ID:1048046563,项目名称:node,代码行数:33,


示例27: echo_start

static int echo_start(int port) {  struct sockaddr_in addr = uv_ip4_addr("0.0.0.0", port);  int r;  r = uv_tcp_init(&server, on_server_close, NULL);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Socket creation error/n");    return 1;  }  r = uv_bind(&server, (struct sockaddr*) &addr);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Bind error/n");    return 1;  }  r = uv_listen(&server, 128, on_accept);  if (r) {    /* TODO: Error codes */    fprintf(stderr, "Listen error/n");    return 1;  }  return 0;}
开发者ID:amb26,项目名称:node,代码行数:27,


示例28: socket_bind

static void socket_bind(MVMThreadContext *tc, MVMOSHandle *h, MVMString *host, MVMint64 port, MVMint32 backlog) {    MVMIOSyncSocketData *data = (MVMIOSyncSocketData *)h->body.data;    if (!data->ss.handle) {        struct sockaddr *dest    = MVM_io_resolve_host_name(tc, host, port);        uv_tcp_t        *socket  = MVM_malloc(sizeof(uv_tcp_t));        int r;        if ((r = uv_tcp_init(tc->loop, socket)) != 0 ||                (r = uv_tcp_bind(socket, dest, 0)) != 0) {            MVM_free(socket);            MVM_free(dest);            MVM_exception_throw_adhoc(tc, "Failed to bind: %s", uv_strerror(r));        }        MVM_free(dest);        /* Start listening, but unref the socket so it won't get in the way of         * other things we want to do on this event loop. */        socket->data = data;        if ((r = uv_listen((uv_stream_t *)socket, backlog, on_connection)) != 0) {            MVM_free(socket);            MVM_exception_throw_adhoc(tc, "Failed to listen: %s", uv_strerror(r));        }        uv_unref((uv_handle_t *)socket);        data->ss.handle = (uv_stream_t *)socket;    }    else {        MVM_exception_throw_adhoc(tc, "Socket is already bound or connected");    }}
开发者ID:stmuk,项目名称:MoarVM,代码行数:30,


示例29: pipe_echo_start

static int pipe_echo_start(char* pipeName) {  int r;  server = (uv_handle_t*)&pipeServer;  serverType = PIPE;  r = uv_pipe_init(loop, &pipeServer);  if (r) {    fprintf(stderr, "uv_pipe_init: %s/n",        uv_strerror(uv_last_error(loop)));    return 1;  }  r = uv_pipe_bind(&pipeServer, pipeName);  if (r) {    fprintf(stderr, "uv_pipe_bind: %s/n",        uv_strerror(uv_last_error(loop)));    return 1;  }  r = uv_listen((uv_stream_t*)&pipeServer, SOMAXCONN, on_connection);  if (r) {    fprintf(stderr, "uv_pipe_listen: %s/n",        uv_strerror(uv_last_error(loop)));    return 1;  }  return 0;}
开发者ID:178620086,项目名称:Node4Android,代码行数:29,



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


C++ uv_loop_close函数代码示例
C++ uv_last_error函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。