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

Вниз

Recv   Найти похожие ветки 

 
Res   (2008-06-27 22:54) [0]

Здравствуйте. Подскажите пожалуйста, почему данная функция долго принимает данные, хотя по снифферу они давно были получены, иногда вообще ничего не возращает:

CONST
 GP_TIMEOUT = 5000;

function recvdata(sock:TSocket):string;
var
 tv : timeval;
 fds : TFDSet;
 buf : array [1..1024] of char;
 res : string;
 r : integer;
 i:integer;  
begin
 r:=1;
 while (r>0) do
 begin
   FD_ZERO(fds);
   FD_SET(sock, fds);
   tv.tv_sec := GP_TIMEOUT div 1000;
   tv.tv_usec := (GP_TIMEOUT mod 1000) * 1000;
   i := select(0, @fds, nil, nil, @tv);
   if (i <= 0) then
   begin
     break;
   end;
   r := recv(sock, buf, 1024, 0);
   res:=res+copy(buf,1,r);
 end;
 result:=res;
end;


 
Я - против   (2008-06-28 15:34) [1]

ничего не понятно.
и как понимать, что она иногда ничего не возвращает? result равен null? :)



Страницы: 1 вся ветка

Текущий архив: 2008.07.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.014 c
2-1214388914
Light-blr
2008-06-25 14:15
2008.07.27
Как отобразить на форме картинку в формате gif?


2-1214307585
Новичок
2008-06-24 15:39
2008.07.27
Помогите плиз связать TDBGrid с Timage и мини-просмотрщиком!!!!!


9-1171983109
Kav
2007-02-20 17:51
2008.07.27
smd2v12-src большая модель приводит к Out of memory


2-1214313276
implementation
2008-06-24 17:14
2008.07.27
Двойной клик по фиксированной ячейке в TStringGrid.


2-1214217352
tey
2008-06-23 14:35
2008.07.27
текст в непонятой кодировке