使用select与阻塞和非阻塞套接字的影响

问题描述:

如果我在select()调用中使用非阻塞套接字而不是在select()调用中使用阻塞套接字,我的程序在行为上会有何不同?使用select与阻塞和非阻塞套接字的影响

select轮询不会有不同的行为,只有接收/发送功能会在阻塞/非阻塞套接字之间有所不同。

+0

因此,通过select调用使用阻塞套接字是没有意义的,对吧?或者有这样的用例吗? – DaTaBomB 2013-02-24 17:40:50

+1

'accept()'连接也表现不同。 – alk 2013-02-24 17:44:02

select()不会有不同的表现。 read()write()accept()和其他I/O功能将 - 他们永远不会在非阻塞套接字的阻止,而他们威力甚至如果select()告诉他们不会,尽管这种情况比较少见。

https://stackoverflow.com/a/5352634/259543

不知道这种行为是否被允许POSIX,虽然。