Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TTcpClient - ne dobija ništa?

6 views
Skip to first unread message

Nemanja Simović

unread,
Oct 25, 2009, 5:11:46 AM10/25/09
to
Pokušavam da napravim klasiu koja ce da mi dobavlja web stranice. Ranije
je postojala komponenta *TClientSocket*, a sada u _Delphi 7_ su
postavili komponentu *TTcpClient*. Malo sam guglao i vidim da je još
ljudi imalo problema da kada pošalje zahtev uopšte dobije nešto. To se
dešava i meni. Ni okida mi se događaj *OnReceive* komponente TTcpClient.
Da nije neki bug u pitanju?

procedure TForm1.Button1Click(Sender: TObject);
begin
with TcpClient1 do
begin
RemoteHost:='www.google.com';
RemotePort:='80';
Connect;
end;
end;

procedure TForm1.TcpClient1Connect(Sender: TObject);
begin
with TcpClient1 do
begin
Sendln('GET / HTTP/1.1');
Sendln('Host: '+RemoteHost);
Sendln('');
end;
end;

procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
begin
ShowMessage('Primio poruku');
Memo1.Lines.Add(Buf);
end;

Vojislav MIHAILOVIC

unread,
Oct 25, 2009, 7:13:24 AM10/25/09
to
Nemanja Simoviďż˝ wrote:
> Poku�avam da napravim klasiu koja ce da mi dobavlja web stranice. Ranije

> je postojala komponenta *TClientSocket*, a sada u _Delphi 7_ su
> postavili komponentu *TTcpClient*. Malo sam guglao i vidim da je joďż˝
> ljudi imalo problema da kada po�alje zahtev uop�te dobije ne�to. To se
> de�ava i meni. Ni okida mi se doga�aj *OnReceive* komponente TTcpClient.

> Da nije neki bug u pitanju?

Yar TTcp nije ne�to drugo? Neka vrsta standardnog benchmark programa za
razne vrste konekcije? Ako je to u pitanju, d�aba si kre�io, program se
samo zove sli�no onom �to ti treba.


> procedure TForm1.Button1Click(Sender: TObject);
> begin
> with TcpClient1 do
> begin
> RemoteHost:='www.google.com';
> RemotePort:='80';
> Connect;
> end;
> end;
>
> procedure TForm1.TcpClient1Connect(Sender: TObject);
> begin
> with TcpClient1 do
> begin
> Sendln('GET / HTTP/1.1');
> Sendln('Host: '+RemoteHost);
> Sendln('');
> end;
> end;
>
> procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
> var DataLen: Integer);
> begin
> ShowMessage('Primio poruku');
> Memo1.Lines.Add(Buf);
> end;

--

Igor Savkic

unread,
Oct 25, 2009, 4:26:50 PM10/25/09
to
> Pokušavam da napravim klasiu koja ce da mi dobavlja web stranice. Ranije
> je postojala komponenta *TClientSocket*, a sada u _Delphi 7_ su
> postavili komponentu *TTcpClient*. Malo sam guglao i vidim da je još
> ljudi imalo problema da kada pošalje zahtev uopšte dobije nešto. To se
> dešava i meni. Ni okida mi se događaj *OnReceive* komponente TTcpClient.

Lakše će ti biti ako koristiš namenske http komponente:

procedure TPrintObject.GetURLContent(const AURL, AResultFile: string);
var
Temp: TIdHttp;
fs: TFileStream;
begin
fs := TFileStream.Create(AResultFile, fmCreate or fmShareDenyWrite);
try
Temp := TIdHttp.Create(nil);
try
Temp.ProxyParams.ProxyServer := ProxyServer;
Temp.ProxyParams.ProxyPort := ProxyPort;

Temp.HandleRedirects := True;
try
Temp.Get(AURL, fs);
except
on E: Exception do
WriteLn('Err: ' + E.Message);
end;
finally
Temp.Free;
end;
finally
fs.Free;
end;
end;

Nemanja Simović

unread,
Oct 26, 2009, 4:25:03 AM10/26/09
to
Vojislav MIHAILOVIC wrote:
> Yar TTcp nije nešto drugo? Neka vrsta standardnog benchmark programa za
> razne vrste konekcije? Ako je to u pitanju, džaba si krečio, program se
> samo zove slično onom što ti treba.

TTcpClient je Delphi klasa. Nije program, nego definicija dela programa,
da se precizno odrazim. :) Mislio sam baš na klasu.

I nemoj molim te da mi ubijaš samopouzdanje pet dana pred sudbonosno
"da" ili ti po naški "jok ti ćeš", sa tim da sam džabe krečio. :D Dosta
sam i ovako preplašen! ;)

Nemanja Simović

unread,
Oct 26, 2009, 4:19:21 AM10/26/09
to
Igor Savkic wrote:
> Lakše će ti biti ako koristiš namenske http komponente:
> Temp: TIdHttp;

Video sam da svi po netu savetuju da ljudi koriste Indy kompomente. Tako
ću i da uradim Još sam i video da se isto ljudi žale na TTcpClient. Ne
znam što su je uvodili kada je TClientSocket završavala posao. Inače,
TClientSocker i dalje postoji ali se taj paket ne instalira već mora
ručno da se doda. Hvala na kodu!

Vojislav MIHAILOVIC

unread,
Oct 27, 2009, 7:01:23 AM10/27/09
to
Nemanja Simoviďż˝ wrote:
> Vojislav MIHAILOVIC wrote:
>> Yar TTcp nije ne�to drugo? Neka vrsta standardnog benchmark programa za
>> razne vrste konekcije? Ako je to u pitanju, d�aba si kre�io, program se
>> samo zove sli�no onom �to ti treba.

>
> TTcpClient je Delphi klasa. Nije program, nego definicija dela programa,
> da se precizno odrazim. :) Mislio sam baďż˝ na klasu.
>
> I nemoj molim te da mi ubijaďż˝ samopouzdanje pet dana pred sudbonosno
> "da" ili ti po na�ki "jok ti �e�", sa tim da sam d�abe kre�io. :D Dosta
> sam i ovako prepla�en! ;)

Slu�aj, ako ti je frka, samo ka�i, do�i �emo nas nekoliko sa newsa da te
dr�imo za ruku ;))


--

0 new messages