Форум: "Сети";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
ВнизTimeout socket`ов возможно изменить ? Найти похожие ветки
← →
МистерТ (2008-03-07 08:41) [0]Здравствуйте.
Работаю непосредственно с сокетами (WinSocket2.pas). При выполнении recv или send один из возможных результатов означает timeout, т.е. истекло время ожидания. Подскажите пожалуйста, как это время можно изменить, если можно вообще. Если изменить нельзя - то какая величина задана "по умолчанию" ?
Заранее спасибо.
← →
Сергей М. © (2008-03-07 09:24) [1]см. Get/SetSockOpt(..SO_RCVTIMEO|SO_SNDTIMEO..)
← →
МистерТ (2008-03-07 09:51) [2]Огромное спасибо.
← →
Сергей М. © (2008-03-07 16:19) [3]
> как это время можно изменить
Не надо его менять.
Такая ошибка означает аварийную ситуацию.
← →
DVM © (2008-03-08 22:59) [4]
> recv или send один из возможных результатов означает timeout
использую неблокирующие сокеты - там и сделаешь свой таймаут какой хочешь
← →
SpellCaster (2008-03-12 12:54) [5]
function TMySocket.Ready: Boolean;
var FDReadSet: TFDSet; // структура - список сокетов
TimeVal: TTimeVal; // время, сколько ждать
begin
if not fActive then begin Result:=False; Exit; end; // поле fActive имеет высший приоритет
TimeVal.tv_sec:=fTimeout div 1000; // время в с
TimeVal.tv_usec:=(fTimeout mod 1000)*1000; // время в мкс
FD_ZERO(FDReadSet); // обнуляем структуру
FD_SET(fSckt,FDReadSet); // заносим хэндл
select(0,@FDReadSet,nil,nil,@TimeVal);
Result:=FD_ISSET(fSckt,FDReadSet);
end;if not sock.Ready then ...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2009.07.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c