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

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

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

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

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

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

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

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

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

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

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

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

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

не правильно

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

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

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

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

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

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

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

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

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


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

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

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

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


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