select i najwiekszy file desriptor

0

W funckji select jako pierwszy argument trzeba podac najwiekszy file descriptor, wszystko fajnie, ale co jezeli klient sie odlacza od serwera (ten z max fd) ?

0

Możesz wytłumaczyc jaśniej?

0

Jasne ;)

załóżmy, że mam serwer, ktory za pomocą selecta obserwuje polaczenia. W selekcie podaje maksymalny file descriptor przypisany klientowi x.
nagl klient X sie rozlacza, wiec ja wykrywszy to wywolyje close(x), wracam w petli do selecta i tutaj pytanie.
Bo w wywolaniu selecta jako max filedescriptor jest fd x'a. Czy to grozne ? jak ewentualnie to obejsc sprytnie, mial ktos podobny problem ??

Jezeli cos nie jasne, to dopowiem

0

Mówisz o pierwszym argumencie funkcji select? Pod jaki system programujesz? Jeżeli pod windowsa, to możesz wpisać w jego miejsce zero, bo jest ignorowany, a jeżeli pod linuxa, to z tego co pamiętam, nie musisz dbać o to, aby ten argument faktycznie oznaczał wartość największego deskryptora pliku + 1. Pilnuj jedynie, aby wartość ta nie była niższa niż największy deskryptor + 1. Nie wiem czy jest sens "czyszczenia" tej wartość, tzn. znalezienie największego deskryptora spośród wszystkich używanych.

0

Linux, o taka odpowiedz mi chodzilo ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1