select(), closesocket(), ...



  • Hi,

    ich nutze select() in einem eigenen Thread und habe nun ein kleines Problem. Wenn ein Socket geschlossen wird, dann hat select() ein Problem damit, weil der Socket ungültig wird. Wie kann ich das verhindern? Soll ich beim Schließen der Verbindung FD_CLR aufrufen?

    Danke



  • Hallo,

    du musst nach jedem Sende/Empangsdurchlauf FD_ZERO aufrufen und neu das Set neu befüllen. Ansonsten: wenn ein Client die Verbindung unterbrochen hat, gibt recv () von diesem Client 0 zurück. Darauf kannst du überprüfen und ggf. den Socket schließen.


Anmelden zum Antworten