Sockets 非阻塞套接字和异步套接字之间的区别是什么
我们使用下面的调用设置的非阻塞和异步套接字模式之间的区别是什么Sockets 非阻塞套接字和异步套接字之间的区别是什么,sockets,asynchronous,nonblocking,ioctl,fcntl,Sockets,Asynchronous,Nonblocking,Ioctl,Fcntl,我们使用下面的调用设置的非阻塞和异步套接字模式之间的区别是什么 案例1: int-sockfd; //创建_sock(sockfd) //初始sock(sockfd) fcntl(sockfd、F_设置FL、O_非块) 案例2: int-sockfd; //创建_sock(sockfd) //初始sock(sockfd) int on=1 ioctl(sockfd、FIOASYNC和on) 案例3: int-sockfd //创建_sock(sockfd) //初始sock(sockfd) in
谢谢,“非阻塞”意味着函数要么做了什么,要么没有做什么,并返回一个状态,告诉您做了什么
“Asynchronous”表示函数调用的操作在函数返回后继续运行,并通过其他方式(例如回调或可查询状态的句柄)通知您操作完成或失败。可能重复感谢,请您也解释一下我提到的三种情况下套接字的行为。情况1和3是非阻塞的,这是
O_NONBLOCK
和FIONBIO
的意思,情况2是异步的,这是FIOASYNC
的意思。我不认为你真的需要我告诉你。