APUE Learning Example Source Code
guowenxue
2019-06-26 d6cf0a8e8580978f8bd7dbb3965255b96851bb7f
ch4_thread/socket_server_thread.c
@@ -8,6 +8,7 @@
#include <stdlib.h>
#include <getopt.h>
#include <pthread.h>
#include <ctype.h>
typedef void *(THREAD_BODY) (void *thread_arg);
@@ -78,8 +79,8 @@
   memset(&servaddr, 0, sizeof(servaddr));
   servaddr.sin_family=AF_INET;
   servaddr.sin_port = htons(port);
   servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
   //inet_aton("192.168.0.16", &servaddr.sin_addr);
   servaddr.sin_addr.s_addr = htonl(INADDR_ANY); /* listen all the IP address on this host */
   //inet_aton("192.168.0.16", &servaddr.sin_addr); /* Only listen specify IP address on this host */
   rv=bind(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));
   if(rv < 0)
@@ -158,6 +159,7 @@
   int                  clifd;
   int                  rv;
          char                 buf[1024]; 
   int                  i;
   if( !ctx )
   {
@@ -189,6 +191,12 @@
      {
                printf("Read %d bytes data from Server: %s\n", rv, buf);
             }
      /* convert letter from lowercase to uppercase */
      for(i=0; i<rv; i++)
      {
         buf[i]=toupper(buf[i]);
      }
          
      rv=write(clifd, buf, rv);
             if(rv < 0)