flags = fcntl(sockfd, F_GETFL, 0); //获取文件的flags值。 fcntl(sockfd, F_SETFL, flags | O_NONBLOCK); //设置成非阻塞模式; flags = fcntl(sockfd,F_GETFL,0); fcntl(sockfd,F_SETFL,flags&~O_NONBLOCK); //设置成阻塞模式; 设置之后每次的对于sockfd 的操作都是非阻塞的。 方法二的实现 recv,...
fcntl_return_value = fcntl(socket_fd, F_SETFL, fcntl_return_value | O_NONBLOCK); /* 使用非阻塞标识:O_NONBLOCK*/ if(fcntl_return_value == -1) { perror("Error: set socket noblocking flag\n"); return; } /* Set noblocking for standard I/O noblocking */ fcntl_return_value = fcntl...