Linux网络编程:tcp并发服务器(I/O复用之select)(2)

//收到 客户端数据并打印
     printf("receive buf from client fd_all[%d] is: %s\n", i, buf);
     
     //回复客户端
     num = write(fd_all[i], buf, num);
     if(num < 0){
      perror("fail to write ");
      exit(1);
     }else{
      //printf("send reply\n");
     }
     
    }
    else if(0 == num){ // 客户端断开时
     
     //客户端退出,关闭套接字,并从监听集合清除
     printf("client:fd_all[%d] exit\n", i);
     FD_CLR(fd_all[i], &fd_read);
     close(fd_all[i]);
     fd_all[i] = -1;
     
     continue;
    }
   
   }else {
                //printf("no data\n");                 
            }
  }
 }
 
    return 0;
}

运行结果:

Linux网络编程:tcp并发服务器(I/O复用之select)

本文源代码可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在

用户名与密码都是

具体下载目录在 /2017年资料/2月/13日/Linux网络编程:tcp并发服务器(IO复用之select)/

下载方法见

------------------------------------------分割线------------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e4bb5ecdaec1265c6b2740a22179435b.html