При работе с сокетами использую функцию Select для проверки входящих сообщений. Последним параметром функции является либо время ожидания (через указатель на структуру), либо NULL. В последнем случае функция ждет до получения чего-либо.
Проблема в следущем: если передаю NULL, все нормально работает. А вот если пытаюсь только проверить состояние, то данных нет, и периодически появлется SOCKET_ERROR.
Код следующий:
Код
var Wait: TTimeVal;
...
Wait.tv_sec := 0;
Wait.tv_usec := 0;
Res := select(0, @fdset, nil, nil, @Wait);
...
...
Wait.tv_sec := 0;
Wait.tv_usec := 0;
Res := select(0, @fdset, nil, nil, @Wait);
...
Будем полагать, что структура fdset заполнена правильно. ;)
Вопрос: как использовать функцию, чтобы результат возвращался сразу, без ожидания?
Сообщение отредактировано: volvo -