if abfrage



  • Hallo was genau wird hier erfragt?

    Wenn FD_ISSET = == != ????????????????

    Ich kenn das immer nur so das da zwischen ein Operator steht wie z.b. ==

    if(FD_ISSET (acceptSocket,&fdSet ) )

    // acceptSocket is im fd_set? => verbindung annehmen (sofern es platz hat)
        if(FD_ISSET   (acceptSocket,&fdSet ))
    
         {
    
          // einen freien platz für den neuen client suchen, und die verbingung annehmen
          for(i=0;i<MAX_CLIENTS;i++)
          {
            if(clients[i]==INVALID_SOCKET)
            {
              clients[i]=accept(acceptSocket,NULL,NULL);
              printf("Neuen Client angenommen (%d)\n",i);
              break;
            }
          }
        }
    


  • FD_ISSET liefert wahrscheinlich einen boolschen / Zahlenwert zurück, der in der if-Anweisung dann als wahr oder falsch ausgewertet wird. In C++ gilt: 0=falsch, !0=wahr. Solange dieser Ausdruck nicht 0 ergibt, wird der bedingte Block also ausgeführt.



  • ah ok danke.


Anmelden zum Antworten