powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какое макс. количество сокетов можно повесить на select!!!
25 сообщений из 34, страница 1 из 2
Какое макс. количество сокетов можно повесить на select!!!
    #34111440
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос собственно тот же, сколько можно обрабатывать select дескрипторов сокетов?
Поделитесь опытом.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111514
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зависит от ОС и реализации. Допустим в ASP 10 = 1024/6.

Смотрите заголовочные файлы
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111637
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у мну Win.

Т.е. если надо обрабатывать более чем, то надо юзать poll?
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111686
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видать да. В селекте fd_set линуха имеет буфер фиксированной длины. С ним работают макросы. Так что, совсем не обязательно, что в вин эти макросы не могут работать с динамическим буфером. Но как правило, структура реализаций редко различается. В поол же передается массив структур, который ограничивается размером параметра количества структур. Для линухов это 6 байт.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111701
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. если хочу в одном цикле бегать по 5000 сокетов например , надо юзать poll однозначно?

Я тесчу на select 2048 допустим, и он справляеться вроде, а вот больше, толи подтормаживать начинает, толи реализация моя подтупливает...
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111741
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, кстати, правильно ли я понимаю..
Что select, пока не отработает все сокеты, не вернет управление в основной поток? Не зависимо от того какой там стоит тайм аут, т.е. по тайм ауту, он дает очухаться сокетам, после его наступления он их оббегает, а как оббежит вернет управление? да?
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111795
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFТ.е. если хочу в одном цикле бегать по 5000 сокетов например , надо юзать poll однозначно?

Я тесчу на select 2048 допустим, и он справляеться вроде, а вот больше, толи подтормаживать начинает, толи реализация моя подтупливает...

Можно не по всем сразу селект ставить, а по очереди, сокетов так по 128.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111811
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если каждый сокет проверять selectом с тайм аутом в 0.. ?
В теории должно работать в разы быстрее..
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111833
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFДа, кстати, правильно ли я понимаю..
Что select, пока не отработает все сокеты, не вернет управление в основной поток? Не зависимо от того какой там стоит тайм аут, т.е. по тайм ауту, он дает очухаться сокетам, после его наступления он их оббегает, а как оббежит вернет управление? да?

Точно, реализации не знаю. Попробуйте поискать линуховую справку select_tut. Там много чего написано.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111842
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFА если каждый сокет проверять selectом с тайм аутом в 0.. ?
В теории должно работать в разы быстрее..

Много вызовов select. Тоже расходуются ресурсы
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111848
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, например. Для винды, должно быть что-то подобное
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111915
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Угу, выход один, дробить общее множество сокетов на более мелкие, и обрабатывать select каждое из них..
Попробую скоро, результат сообщу.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111939
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFУгу, выход один, дробить общее множество сокетов на более мелкие, и обрабатывать select каждое из них..
Попробую скоро, результат сообщу.

Ну, а почему же вы сразу отвергаете poll? Для каждого сокета у него есть маска запрашиваемых событий.

Плюс в использовании poll - первый готов - первый и получил.

Я про него ничего не говорил, т.к. не было необходимости с ним работать.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111946
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFДа, кстати, правильно ли я понимаю..
Что select, пока не отработает все сокеты, не вернет управление в основной поток? Не зависимо от того какой там стоит тайм аут, т.е. по тайм ауту, он дает очухаться сокетам, после его наступления он их оббегает, а как оббежит вернет управление? да?

не правильно
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111961
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так стоит ли морочиться poll?
Есть в интернете источники которые утверждают что он являеться приемлимым при большом количестве соединений.

Но обычно люди советую пользоваться select ом..
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111964
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan) DжеFFДа, кстати, правильно ли я понимаю..
Что select, пока не отработает все сокеты, не вернет управление в основной поток? Не зависимо от того какой там стоит тайм аут, т.е. по тайм ауту, он дает очухаться сокетам, после его наступления он их оббегает, а как оббежит вернет управление? да?

не правильно

Ну а как если своими словами? Правильно?!
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34111968
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFТак стоит ли морочиться poll?
Есть в интернете источники которые утверждают что он являеться приемлимым при большом количестве соединений.

Но обычно люди советую пользоваться select ом..

Обычно люди с таким количеством сокетов не работают. :)
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112164
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пошел искать документацию на poll.. =)
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112171
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhОбычно люди с таким количеством сокетов не работают. :)

Работают. В очень специфических случаях.

авторНу а как если своими словами? Правильно?!

Когда произойдет изменение состояние любого из упомянутых сокетов ИЛИ завершится время по таймеру, select вернет количество сокетов в которых изменилось состояние. Есть man/MSDN зачем что-то ДОМЫСЛИВАТЬ ???
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112196
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А на деле получаеться что select может вернуть управление позже, сами попробуйте.. =)

Да, используют люди, случаев специфических навалом.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112210
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А poll воообще под Винды работает?
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112223
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFА poll воообще под Винды работает?

Если есть, значит работает. ;)
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112228
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) Akh Обычно люди с таким количеством сокетов не работают. :)

Работают. В очень специфических случаях.


ОБЫЧНО.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112275
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=)
Хм.. Нету Poll под винды.. =)
Если только самореализованный...
Значит пора смотреть в сторону IOCP..
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112341
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFА на деле получаеться что select может вернуть управление позже, сами попробуйте.. =)

Да, используют люди, случаев специфических навалом.

Может, я бы даже сказал не может не вернуть позже. Как и Sleep ;)
На UNIX-е несколько точнее чем на Win. Ужо напробувался.
На счет ИЗМЕНЕНИЯ состояния я тоже был неточен. Документация ЧЕТКО оговаривает в каких случаях срабатывает select, грубо говоря при проверке доступности по чтению когда есть/появились данные для чтения или зафиксирован разрыв соединения.

Самопальная реализация логики select (как вы ее описали) скушает все что можно на переключениях контекста при путешествиях в режим ядра и обратно.
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какое макс. количество сокетов можно повесить на select!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]