1.如果我在程序中使用select函数设置了超时时间,是不是对socket设置了一次,以后每次recv都有效,还是需要每次recv前重新进行设置?2.如果recv时超时(事先通过select设置超时时间),recv返回值是什么?是0吗?3.msdn上说,recv返回0是指“the connection has been gracefully closed”,应该怎么理解,是不是指TCP正常断开(完成了FIN/FIN_ACK)。