Показать сообщение отдельно

  #7  
Старый 06.05.2010, 01:19
RedFern.89
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
С нами: 8582863

Репутация: 69
По умолчанию

пытаюсь циклом... виснет...

Код:
// ---- Отправка запроса ----
function TidVKClient.SendRequest(URL,PACKET:string):string;
var
 buf      : array[0..1500] of char;
 wData    : WSADATA;
 addr     : sockaddr_in;
 sock     : integer;
 error    : integer;
 phe      : PHostEnt;
 len,i,d  : Integer;
begin
 Result := '';
 WSAStartup($0101, wData);
 phe := gethostbyname(PChar(string(GetHost(url))));
 sock := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
 addr.sin_family := AF_INET;
 addr.sin_port   := htons(80);
 addr.sin_addr   := PInAddr(phe.h_addr_list^)^;
 error := connect(sock, addr, sizeof(addr));

 len := 0;

 send(sock, PACKET[1], Length(PACKET),0);
repeat
    FillChar(buf,SizeOf(buf),0);
    d:=recv(sock,buf,SizeOf(buf),0);
    len:=len+d;
    for i:=1 to d do result := result + buf[i];
until d<=0;


 closesocket(Sock);
 WSACleanup;
end;
 
Ответить с цитированием