
03.05.2010, 09:03
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
PHP код:
uses ScktComp;
procedure TForm1.Button1Click(Sender: TObject);
var
clientsocket: TClientSocket;
now: Cardinal;
// наши 9 байт
data: array [0..8] of Char; // или Byte
begin
// создаем клиента
clientsocket:=TClientSocket.Create(Self);
try
// имя сервера
clientsocket.Host:='ya.ru';
// порт
clientsocket.Port:=80;
// используем синхронный сокет
clientsocket.ClientType:=ctBlocking;
// устанавливаем соединение
clientsocket.Open;
try
// отправим http запрос на сервер, чтобы он нам ответил что-нибудь
// из чего мы прочитаем только 9 байт
clientsocket.Socket.SendText('GET / HTTP/1.0'#13#10);
clientsocket.Socket.SendText(#13#10);
// запомним "время"
now:=GetTickCount;
// ждем ответа максимум 5 сек
while GetTickCount-now<5000 do
begin
// если готовы 9 байт
if clientsocket.Socket.ReceiveLength>9 then
begin
// читаем их
clientsocket.Socket.ReceiveBuf(data[0], 9);
// остальное не нужно
Break;
end;
end;
finally
// закрываем соединение
clientsocket.Close;
end;
finally
clientsocket.Free;
end;
// смотрим ответ
Memo1.Lines.Add(data);
end;
|