Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.26;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
2-1244025649
Trifle
2009-06-03 14:40
2009.07.26
Проблема с dll


15-1242772016
Petr V. Abramov
2009-05-20 02:26
2009.07.26
блин! ну и ТЗ :)


2-1243316725
deras
2009-05-26 09:45
2009.07.26
Как создать письмо с вложением?


15-1242822099
easy
2009-05-20 16:21
2009.07.26
Переезд PDA-шлюза dmgate


15-1242935407
Эстет
2009-05-21 23:50
2009.07.26
Чему равно 2*2,222