From 805b28fc2e633bcd9c823a4b23614378ebfd50a1 Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Tue, 12 May 2026 16:52:28 +0800
Subject: [PATCH] update APUE socket project

---
 project/2.socketd/booster/socket.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/project/2.socketd/booster/socket.c b/project/2.socketd/booster/socket.c
index de82a00..c14f347 100644
--- a/project/2.socketd/booster/socket.c
+++ b/project/2.socketd/booster/socket.c
@@ -210,7 +210,7 @@
  *               $sock:  socket context pointer
  * return value: 1: connected   0:disconnected
  */
-int socket_connected(socket_t *sock)
+int socket_check(socket_t *sock)
 {
     struct tcp_info   info;
     int               len=sizeof(info);
@@ -270,6 +270,7 @@
     if( !sock )
         return -1;
 
+    /* close and clear previous socket */
     socket_term(sock);
 
     /*+--------------------------------------------------+
@@ -284,7 +285,7 @@
     /* If $host is a valid IP address, then don't use name resolution */
     if( inet_aton(sock->host, &inaddr) )
     {
-        //log_info("%s is a valid IP address, don't use domain name resolution.\n", sock->host);
+        //log_info("Hostname %s is an IP address, so domain resolution can be skipped.\n", sock->host);
         hints.ai_flags |= AI_NUMERICHOST;
     }
 
@@ -326,6 +327,8 @@
         if( 0 == rv )
         {
             sock->fd = sockfd;
+            sock->connected = 1;
+            socket_set_keepalive(sockfd, 10, 3);
             log_info("Connect to server[%s:%d] on fd[%d] successfully!\n", sock->host, sock->port, sockfd);
             break;
         }
@@ -590,6 +593,7 @@
         return -2;
     }
 
+    /* If keepintvl and keepcnt are both 0, the system default configuration will be used. */
     if(keepintvl || keepcnt)
     {
         /*

--
Gitblit v1.9.1