Hello, I am rather new to systems/network programming with C, but I want to get better. So I have some questions. The background of my questions are these: To send messages in a network, I have a TCP server without libuv using the Socket API:
m_addr.sin_family = AF_INET; m_addr.sin_port = htons(port); m_addr.sin_addr.s_addr = htonl(INADDR_ANY); My questions: 1) By using libuv and an event loop - I would save CPU resources (in general) or just when there is no incoming request? 2) How to best declar the loop memory space (global and malloc from main or do it in main directly? uv_loop_t *loop = malloc(sizeof(uv_loop_t)); 3) I wanted to build a basic libuv based socket server example. I succeeded with building a libuv loop listening to idle events - when I try to go to a TCP server example, the event loop does not seem to start. This is the code: int main() { // init loop printf("init\n"); uv_loop_t *loop = malloc(sizeof(uv_loop_t)); uv_loop_init(loop); // need handler uv_idle_t idhandler; uv_idle_init(loop, &idhandler); uv_idle_start(&idhandler, wait_for_a_while); #ifdef SERVERLOOP // attach server to loop printf("prepare tcp socket\n"); uv_tcp_t server; uv_tcp_init(loop, &server); printf("ip setup"); uv_ip4_addr("0.0.0.0", DEFAULT_PORT, &addr); printf("setup port: %d", DEFAULT_PORT); uv_tcp_bind(&server, (const struct sockaddr*)&addr, 0); int r = uv_listen((uv_stream_t*) &server, DEFAULT_BACKLOG, on_new_connection); if (r) { fprintf(stderr, "Listen error %s\n", uv_strerror(r)); return 1; } #endif uv_run(loop, UV_RUN_DEFAULT); uv_loop_close(loop); free(loop); return 0; } When I build this example with the SERVERLOOP define, the printf are not shown. I suspect that the server hangs somewhere, but not sure. What can I do to learn more on the uv loop if setup would work? Any debugging statements? Maybe using gdb... ? Thanks for your help! -- You received this message because you are subscribed to the Google Groups "libuv" group. To unsubscribe from this group and stop receiving emails from it, send an email to libuv+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/libuv/e536fcf5-7353-48d8-a883-65b8c3902afc%40googlegroups.com.