如果我使用带有select()调用的非阻塞套接字而不是使用带有select()调用的阻塞套接字,我的程序将如何在行为上有所不同?
答案 0 :(得分:6)
select
轮询的行为不会有所不同,只有接收/发送功能在阻塞/非阻塞套接字之间会有所不同。
答案 1 :(得分:2)
select()
的行为不同。 read()
,write()
,accept()
和其他I / O函数将会 - 它们永远不会阻塞非阻塞套接字,而它们可能阻止 ,如果select()
告诉他们不会,尽管这有点罕见。
https://stackoverflow.com/a/5352634/259543
不确定POSIX是否允许此行为。