
06.05.2010, 01:19
|
|
Постоянный
Регистрация: 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;
|
|
|