Winsock select()
-
Hi, ich hab eine Frage wegen der Funktion select().
Wenn man jetzt mit select() arbeitet, dem FD_SET ein par SOCKETs hinzufügt, dann auf select() warten und wenn man dan mit "FD_ISSET" prüft, wird dan TRUE zurückgegebe, ob der SOCKET im Set ist, oder ob sich etwas auf dem Socket getan hat?
MfGPseudo-Code zur Verständigung:
FD_SET fdSet; while(TRUE) { FD_ZERO(&fdSet); FD_SET(Socket1, &fdSet); FD_SET(Socket2, &fdSet); int lRet = select(0, &fdSet, NULL, NULL, NULL); if(FD_ISSET(Socket1, &fdSet) std::cout << "Ja 1" << endl; //Wird das ausgegeben, wenn etwas auf dem Zocket passiert, oder einfach wenn es nur im Set ist? else if(FD_ISSET(Socket2, &fdSet)) std::cout << "Ja 2" << endl; //Wird das ausgegeben, wenn etwas auf dem Zocket passiert, oder einfach wenn es nur im Set ist? }
-
Das bedeutet das selbe: der Socket bleibt nur im Set, wenn das gewählte Ereignis auf dem FD_SET geschehen ist.
-
Ach so ist das.
Danke!