网络高级编程

非阻塞和异步I/O
在socket编程中可以使用函数fcntl(int fd, int cmd, int arg)的如下的编程特性。
获得文件状态标志:将cmd设置为F_GETFL,会返回由fd指向的文件的状态标志。
非阻塞I/O:将cmd设置为F_SETFL,将arg设置为O_NONBLOCK
异步I/O:将cmd设置为F_SETFL,将arg设置为O_ASYNC
示例:
int flag
flag = fcntl(sockfd, F_GETFL, 0);
flag |=O_NONBLOCK;
fcntl(sockfd, F_SETFL, flag);

 

 

 

posted @ 2022-12-26 22:20  cnetsa  阅读(21)  评论(0)    收藏  举报