如果我使用非阻塞套接字和select()调用,与使用阻塞套接字和select()调用相比,我的程序行为将有何不同?
如果我使用非阻塞套接字和select()调用,与使用阻塞套接字和select()调用相比,我的程序行为将有何不同?
select()
函数不会有不同行为。然而,read()
、write()
、accept()
和其他I/O函数则不同 -- 在非阻塞套接字上它们永远不会阻塞,但是它们可能会被阻塞,即使select()
指示它们不会,尽管这种情况相对较少。
https://dev59.com/02435IYBdhLWcg3wigux#5352634
不确定这种行为是否符合POSIX标准。