Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > Поля fd_set |
Автор: Enelar 25.6.2010, 01:06 | ||||
Как называются поля структуры fd_set (для сокетов) в линухе. Мне неприемлемо пользоваться макросами типа FD_SET, а нужно писать напрямую. Например в винде поля называются fd_count и fd_array и я просто пишу
как это сделать в линухе?
|
Автор: Enelar 25.6.2010, 01:57 | ||
Слава гуглу!
вопрос закрыт |
Автор: Enelar 25.6.2010, 02:26 |
кстати я может что то не понимаю... но кажется в макросе howmany должен стоять знак умножить. или я не прав... теперь понял) |
Автор: Enelar 25.6.2010, 04:44 |
Нет, вопрос нифига не решен. Если добавление сокета я сделал через FD_SET то поиск сокета FD_ISSET меня совсем не устраивает, оно будет долго в моей идеологии. посему вопрос, как из структуры fd_set вытянуть сокет. (в винде это было просто a.fd_array[i]) здесь же сокет номер 4 превращяется в 16. (побитовый сдвиг вправо на два ничего не дает) |
Автор: Enelar 25.6.2010, 05:17 |
если сокет имеет сообщение, то i-ый бит fds_bits = 1 (где i = дескриптору сокета). При больших количествах сокетов на лицо геморой, но я надеюсь что это не так. |