APUE Learning Example Source Code
guowenxue
2020-01-01 8edfedf64bacd0ce0f33806c6e6401a88ea10d5a
update ddns_server.c
1 files modified
15 ■■■■ changed files
app_ddns/ddns_server.c 15 ●●●● patch | view | raw | blame | history
app_ddns/ddns_server.c
@@ -17,7 +17,7 @@
#include "logger.h"
#define LOGGER              "/var/log/ddns_server.log"
#define LOGGER              "/tmp/ddns_server.log"
#define MAX_EVENTS          512
#define ARRAY_SIZE(x)       (sizeof(x)/sizeof(x[0]))
@@ -167,9 +167,10 @@
            else /* already connected client socket get data incoming */
            {
                memset(buf, 0, sizeof(buf));
                if( (rv=read(event_array[i].data.fd, buf, sizeof(buf))) <= 0)
                {
                    log_err("socket[%d] read failure or get disconncet and will be removed.\n", event_array[i].data.fd);
                    log_err("socket[%d] already get disconncet and will be removed.\n", event_array[i].data.fd);
                    epoll_ctl(epollfd, EPOLL_CTL_DEL, event_array[i].data.fd, NULL);
                    close(event_array[i].data.fd);
                    continue;
@@ -214,7 +215,7 @@
    if ( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
    {
        printf("Use socket() to create a TCP socket failure: %s\n", strerror(errno));
        log_err("Use socket() to create a TCP socket failure: %s\n", strerror(errno));
        return -1;
    }
@@ -233,7 +234,7 @@
    {
        if (inet_pton(AF_INET, listen_ip, &servaddr.sin_addr) <= 0)
        {
            printf("inet_pton() set listen IP address failure.\n");
            log_err("inet_pton() set listen IP address failure.\n");
        rv = -2;
            goto CleanUp;
        }
@@ -242,14 +243,14 @@
    if(bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0)
    {
        printf("Use bind() to bind the TCP socket failure: %s\n", strerror(errno));
        log_err("Use bind() to bind the TCP socket failure: %s\n", strerror(errno));
        rv = -3;
        goto CleanUp;
    }
    if(listen(listenfd, 13) < 0)
    {
        printf("Use bind() to bind the TCP socket failure: %s\n", strerror(errno));
        log_err("Use bind() to bind the TCP socket failure: %s\n", strerror(errno));
        rv = -4;
        goto CleanUp;
    }
@@ -272,6 +273,6 @@
     limit.rlim_cur  = limit.rlim_max;
     setrlimit(RLIMIT_NOFILE, &limit );
     printf("set socket open fd max count to %d\n", (int)limit.rlim_max);
     log_dbg("set socket open fd max count to %d\n", (int)limit.rlim_max);
}