|
|
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Вопрос собственно тот же, сколько можно обрабатывать select дескрипторов сокетов? Поделитесь опытом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 11:34 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Зависит от ОС и реализации. Допустим в ASP 10 = 1024/6. Смотрите заголовочные файлы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 11:45 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
у мну Win. Т.е. если надо обрабатывать более чем, то надо юзать poll? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:11 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Видать да. В селекте fd_set линуха имеет буфер фиксированной длины. С ним работают макросы. Так что, совсем не обязательно, что в вин эти макросы не могут работать с динамическим буфером. Но как правило, структура реализаций редко различается. В поол же передается массив структур, который ограничивается размером параметра количества структур. Для линухов это 6 байт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:19 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Т.е. если хочу в одном цикле бегать по 5000 сокетов например , надо юзать poll однозначно? Я тесчу на select 2048 допустим, и он справляеться вроде, а вот больше, толи подтормаживать начинает, толи реализация моя подтупливает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:23 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Да, кстати, правильно ли я понимаю.. Что select, пока не отработает все сокеты, не вернет управление в основной поток? Не зависимо от того какой там стоит тайм аут, т.е. по тайм ауту, он дает очухаться сокетам, после его наступления он их оббегает, а как оббежит вернет управление? да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:30 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
DжеFFТ.е. если хочу в одном цикле бегать по 5000 сокетов например , надо юзать poll однозначно? Я тесчу на select 2048 допустим, и он справляеться вроде, а вот больше, толи подтормаживать начинает, толи реализация моя подтупливает... Можно не по всем сразу селект ставить, а по очереди, сокетов так по 128. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:39 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
А если каждый сокет проверять selectом с тайм аутом в 0.. ? В теории должно работать в разы быстрее.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:42 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
DжеFFДа, кстати, правильно ли я понимаю.. Что select, пока не отработает все сокеты, не вернет управление в основной поток? Не зависимо от того какой там стоит тайм аут, т.е. по тайм ауту, он дает очухаться сокетам, после его наступления он их оббегает, а как оббежит вернет управление? да? Точно, реализации не знаю. Попробуйте поискать линуховую справку select_tut. Там много чего написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:46 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
DжеFFА если каждый сокет проверять selectом с тайм аутом в 0.. ? В теории должно работать в разы быстрее.. Много вызовов select. Тоже расходуются ресурсы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:47 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Вот, например. Для винды, должно быть что-то подобное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:48 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Угу, выход один, дробить общее множество сокетов на более мелкие, и обрабатывать select каждое из них.. Попробую скоро, результат сообщу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 12:57 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
DжеFFУгу, выход один, дробить общее множество сокетов на более мелкие, и обрабатывать select каждое из них.. Попробую скоро, результат сообщу. Ну, а почему же вы сразу отвергаете poll? Для каждого сокета у него есть маска запрашиваемых событий. Плюс в использовании poll - первый готов - первый и получил. Я про него ничего не говорил, т.к. не было необходимости с ним работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:01 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
DжеFFДа, кстати, правильно ли я понимаю.. Что select, пока не отработает все сокеты, не вернет управление в основной поток? Не зависимо от того какой там стоит тайм аут, т.е. по тайм ауту, он дает очухаться сокетам, после его наступления он их оббегает, а как оббежит вернет управление? да? не правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:01 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Так стоит ли морочиться poll? Есть в интернете источники которые утверждают что он являеться приемлимым при большом количестве соединений. Но обычно люди советую пользоваться select ом.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:04 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) DжеFFДа, кстати, правильно ли я понимаю.. Что select, пока не отработает все сокеты, не вернет управление в основной поток? Не зависимо от того какой там стоит тайм аут, т.е. по тайм ауту, он дает очухаться сокетам, после его наступления он их оббегает, а как оббежит вернет управление? да? не правильно Ну а как если своими словами? Правильно?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:05 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
DжеFFТак стоит ли морочиться poll? Есть в интернете источники которые утверждают что он являеться приемлимым при большом количестве соединений. Но обычно люди советую пользоваться select ом.. Обычно люди с таким количеством сокетов не работают. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:05 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Пошел искать документацию на poll.. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:43 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
AkhОбычно люди с таким количеством сокетов не работают. :) Работают. В очень специфических случаях. авторНу а как если своими словами? Правильно?! Когда произойдет изменение состояние любого из упомянутых сокетов ИЛИ завершится время по таймеру, select вернет количество сокетов в которых изменилось состояние. Есть man/MSDN зачем что-то ДОМЫСЛИВАТЬ ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:44 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
А на деле получаеться что select может вернуть управление позже, сами попробуйте.. =) Да, используют люди, случаев специфических навалом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:52 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
А poll воообще под Винды работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:54 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
DжеFFА poll воообще под Винды работает? Если есть, значит работает. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:57 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Akh Обычно люди с таким количеством сокетов не работают. :) Работают. В очень специфических случаях. ОБЫЧНО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 13:58 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
=) Хм.. Нету Poll под винды.. =) Если только самореализованный... Значит пора смотреть в сторону IOCP.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 14:04 |
|
||
|
Какое макс. количество сокетов можно повесить на select!!!
|
|||
|---|---|---|---|
|
#18+
DжеFFА на деле получаеться что select может вернуть управление позже, сами попробуйте.. =) Да, используют люди, случаев специфических навалом. Может, я бы даже сказал не может не вернуть позже. Как и Sleep ;) На UNIX-е несколько точнее чем на Win. Ужо напробувался. На счет ИЗМЕНЕНИЯ состояния я тоже был неточен. Документация ЧЕТКО оговаривает в каких случаях срабатывает select, грубо говоря при проверке доступности по чтению когда есть/появились данные для чтения или зафиксирован разрыв соединения. Самопальная реализация логики select (как вы ее описали) скушает все что можно на переключениях контекста при путешествиях в режим ядра и обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 14:14 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34111968&tid=2030090]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 539ms |

| 0 / 0 |
