LINUX.ORG.RU

Не могу разобраться с select


0

0

HELP! Почему у меня вызов select никак не реагирует на приход данных на сокет? Какие у select отличия от виндового аналога? Где прочитать про работу с сокетами под линуксом?

anonymous

man select
В man-е есть простой пример

RSI
()

Пример пробовал, ненаглядно Что делаю: FD_ZERO(&fds); FD_SET(MySocket,&fds); int R=select(1,&fds,NULL,NULL,&tv); R всегда равно нулю...

anonymous
()

Пример пробовал, ненаглядно Что делаю: FD_ZERO(&fds); FD_SET(MySocket,&fds); int R=select(1,&fds,NULL,NULL,&tv); R всегда равно нулю...

anonymous
()

а tv устанавливал? оно наверняка нулю равно если не установить, поэтому и не приходит ничего

anonymous
()
Ответ на: комментарий от anonymous

tv устанавливаю каждый раз перед вызовом функции tv.sec=1; tv.usec=0;

anonymous
()

В указанном присере первый параметр должен быть не 1, а MySocket + 1.

anonymous
()

В select первый параметр ВСЕГДА max file or socket descriptor + 1
Good luck!

tvn
()
28 мая 2002 г.

А что это за FD_SETSIZE (да и не везде он есть!) - просто очень большое число (1024, кажись). Так что не обязательно отслеживать MaxFile+1, так что ли?????

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.