如果我将非阻塞套接字与select()调用一起使用,而不是将阻塞套接字与select()调用结合使用,我的程序在行为上会有什么不同?
select
轮询不会有不同的行为,只是接收/发送功能在阻塞/非阻塞套接字之间会有所不同。
select()
不会有不同的行为。read()
、write()
、accept()
和其他I/O函数将--它们将永远不会在非阻塞套接字上阻塞,而如果select()
告诉它们不会阻塞,则它们可能会甚至阻塞,尽管这种情况有些罕见。
https://stackoverflow.com/a/5352634/259543
但不确定POSIX是否允许这种行为。