powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какое макс. количество сокетов можно повесить на select!!!
34 сообщений из 34, показаны все 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
Какое макс. количество сокетов можно повесить на select!!!
    #34112671
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо..
А если например масштабировать приложение, так что select у меня будет прослышать например максимум 1024 порта, и выполнять эту самую прослушку в несколько итераций, постоянно обновляя дескрипторы в fd_set. Реально как думаете?
И как оптимальный выбрать для этого таум аут?
Ну т.е. какой тайм аут выбрать для select(1024,..)?
Что бы общее время обработки select не была слишком велика?
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112753
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFИ как оптимальный выбрать для этого таум аут?


По моему вы неправильно понимаете значение этого параметра. Не вижу никакой связи между продолжительностью таймаута и количеством проверяемых сокетов.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112811
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFХорошо..
А если например масштабировать приложение, так что select у меня будет прослышать например максимум 1024 порта, и выполнять эту самую прослушку в несколько итераций, постоянно обновляя дескрипторы в fd_set. Реально как думаете?
И как оптимальный выбрать для этого таум аут?
Ну т.е. какой тайм аут выбрать для select(1024,..)?
Что бы общее время обработки select не была слишком велика?

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


По моему вы неправильно понимаете значение этого параметра. Не вижу никакой связи между продолжительностью таймаута и количеством проверяемых сокетов.

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


По моему вы неправильно понимаете значение этого параметра. Не вижу никакой связи между продолжительностью таймаута и количеством проверяемых сокетов.

Почему же нет? Помоему как раз прямая? Нет?
Чем больше сокетов в наборе, тем больше времени надо select что бы по ним пробежаться.. Нет?
Я так понимаю, что если select железно отдает управление по таум ауту, и за 100 млсек не успевает обойти все, то в нужных наборах не просмотренные сокеты не появяться.. нет?
А какой тогда вообще смысл этого параметра?

Кроме "обхода" он еще падает в idle и ждет изменения состояния на сокете. В этом и заключается таймаут
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34112843
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте ссылку которую я вам дал. Можете еще поискать в инете man select
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34113059
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DжеFFПочему же нет? Помоему как раз прямая? Нет?


Почитайте же наконец документацию. Там вообще может быть 0 таймаут. И все будет прекрасно работать (независимо от количества сокетов)
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34113072
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все понятно.
Может быть Ноль, знаю.
Просто тайм ауту приписывал более веское значение.
Спасибо за участие.
...
Рейтинг: 0 / 0
Какое макс. количество сокетов можно повесить на select!!!
    #34113191
DжеFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разделил общее количество сокетов по сессиям в каждой их которых по 512 дескрипторов, работает.. Ура! Товарищи!! Работает!
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какое макс. количество сокетов можно повесить на select!!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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