select()
錯誤時返回-1,超時時返回0,成功時返回集合中描述符的數量。在接收消息時用select()繼續計數超時值?
假設我們有以下僞代碼:
while(1){
int s = select(..., &timeout); //timeout = 5 sec
if (s < 0) { perror(...); }
else if(s == 0) { //timeout }
else {
//wait for some recv event or STDIN
}
}
我認爲,整個過程既等待,直到超時,或者直到一些recv的事件發生。
我只需要使用select()從任意數量的對等體接收指定時間的時候,我需要保持它的計數。
我該如何做到這一點?
這是有點不清楚你在問什麼......「需要讓它繼續計數」,但我沒有看到*任何*計數。 – WeaponsGrade